Get Programming with Haskell-22
在阅读完第 22 课后,你将能够: • 访问命令行参数。 • 使用传统的 I/O 交互方式。 • 使用惰性求值编写 I/O 代码,使 I/O 更容易。
个人博客
关于软件、系统设计与持续学习。文章由 Notion 写作并在这里发布。
目前已发布 302 篇文章。
文章列表
共 302 篇
在阅读完第 22 课后,你将能够: • 访问命令行参数。 • 使用传统的 I/O 交互方式。 • 使用惰性求值编写 I/O 代码,使 I/O 更容易。
在阅读完第 21 课后,你将能够: • 理解 Haskell 如何通过使用 IO 类型处理 I/O。 • 使用 do 记法执行 I/O 操作。 • 编写能够与现实世界交互的纯粹程序。
计算长度为n的数组的连续子数组个数
在本章总结篇中,你将使用你在 Haskell 中构建的工具来建模时间序列数据
正如类型类通常比面向对象编程中的接口更抽象一样,参数化类型在大多数语言中扮演着比泛型更大的角色。本课介绍了一个重要的参数化类型:Maybe。与表示值容器的 List 或 Map 不同,Maybe 是你将看到的许多表示值上下文的类型中的第一个。Maybe 类型表示可能缺失的值。在大多数语言中,缺失的值用 null 值表示。通过使用表示可能缺失的值的上下文,Maybe 类型允许你编写更安全的代码。由于 Maybe 类型的强大功能,与空值相关的错误会从 Haskell 程序中系统地移除。
到目前为止,我们已经讨论了类型如何像数据一样被加和乘。 像函数一样,类型也可以接受参数。类型通过在其定义中使用类型变量来接受参数(因此它们的参数总是其他类型)。使用参数定义的类型称为参数化类型。参数化类型在 Haskell 中扮演着重要的角色,因为它们允许你定义可以与各种现有数据一起使用的通用数据结构。
实现RESTful风格的API
组合两个事物意味着什么?这里有一些例子:你可以连接两个列表得到一个新的列表,你可以合并两个文档得到一个新的文档,你可以混合两种颜色得到一种新的颜色。在许多编程语言中,每种组合类型的方法都有其自己独特的操作符或函数。与几乎每种编程语言都提供将类型转换为字符串的标准方法非常相似,Haskell 提供了一种将相同类型的实例组合在一起的标准方法。
主题索引