haskell - 如何从元组转到自定义数据类型?
问题描述
所以,我有这门课是关于变态和什么的,我需要编写一个数据类型的代码。
数据类型是
data Expr = Num Int | Bop Expr Op Expr deriving (Eq,Show)
并且该函数必须具有此签名
inExpr :: Either Int (Op,(Expr,Expr)) -> Expr
inExpr
应该是,我认为,类似于
inExpr = Either Num (Bop something)
但我无法弄清楚的东西。
解决方案
为什么不只是
inExpr ie = case ie of
Left n -> Num n
Right (o, (e1, e2)) -> Bop e1 o e2
?
或者如果你喜欢either
功能
inExpr = either Num (\(o, (e1, e2)) -> Bop e1 o e2)
推荐阅读
- c# - 其他不可解析的字符位于字符串的末尾。C#
- python - 将多个 Excel 工作表中的数据合并为一张
- html - 如何在 HTML 文件中包含带有 SVG defs 的外部文件
- android - Android Kotlin - 无法设置位置。位置保持在 0.0, 0.0
- c# - 如何订阅作为参数传递给函数的事件?
- r - R markdown 无法保存文件
- c++ - C++ ASM 发布模式下推送偏移字符串问题
- azure - Azure 流分析 - 用户验证
- python - 如何从两个不同的函数将值附加到同一个数组?
- python - 从页面获取所有链接,收到 javascript.void() 错误?