haskell - Haskell - 左箭头与嵌套 case 语句
问题描述
我没有成功地到处寻找这个的定义/描述。当我从第一原理开始 Haskell 编程时,在 monads 介绍一章(第 763 页)中,它展示了这个嵌套 case 语句的示例:
mkSphericalCow :: String -> Int -> Int -> Maybe Cow
mkSphericalCow name' age' weight' =
case noEmpty name' of
Nothing -> Nothing
Just nammy ->
case noNegative age' of
Nothing -> Nothing
Just agey ->
case noNegative weight' of
Nothing -> Nothing
Just weighty ->
weightCheck
(Cow nammy agey weighty)
它说它可以被替换为:
mkSphericalCow' :: String -> Int -> Int -> Maybe Cow
mkSphericalCow' name' age' weight' = do
nammy <- noEmpty name'
agey <- noNegative age'
weighty <- noNegative weight'
weightCheck (Cow nammy agey weighty)
这到底是怎么回事!?这个叫什么?我能找到的最接近的是这个答案,它将它描述为“一元符号”。
解决方案
推荐阅读
- excel - 在 VBA 脚本中使用 MSXML 提取网站数据
- python-2.6 - 在 Python 的打印命令中调用 Sys.argv
- pyomo - Pyomo游戏作家
- windows - 无法运行 MSBuild 命令获取 VCTargetsPath 的值
- typescript - 为什么 Storage 的索引 getter 返回 'any' 而不是 'string | null' 像 getItem
- ssas - 计算过滤成本
- javascript - Object.assign() 和对象数组
- maven - 如何从 Windows 10 CMD 中删除“mvn”
- oracle - Oracle SQL Loader 中带前导下划线的列
- spring-boot - 当传入线程数增加时,Couchbase Get 操作变慢