Lean 函数式编程

4. 单子🔗

在C#和Kotlin中,?.运算符是一种在可能为null的值上查找属性或调用方法的方式。如果接收到null,则整个表达式为null。否则,该非null值会被用于调用。多个?.可以链接起来,在这种情况下,第一个null结果将终止查找链。像这样链接null检查比编写和维护深层嵌套的if方便得多。

类似地,异常机制比手动检查和传递错误码方便得多。同时,通过使用专用日志记录框架(而不是让每个函数同时返回其日志结果和返回值)可以轻松地完成日志记录。链接的空检查和异常通常要求语言设计者预料到这种用法,而日志记录框架通常利用副作用将记录日志的代码与日志的累积解耦。

  1. 4.1. 一个API,多种应用
  2. 4.2. Monad类型类
  3. 4.3. 例子:利用单子实现算术表达式求值
  4. 4.4. 单子的 do-记法
  5. 4.5. IO 单子
  6. 4.6. 其他便利功能
  7. 4.7. 总结