gpt4 book ai didi

Haskell 计算算术表达式并分配变量

转载 作者:行者123 更新时间:2023-12-02 02:02:39 25 4
gpt4 key购买 nike

我有一个名为 expr 的数据类型,如下所示:

data Expr = C Float | Expr :+ Expr | Expr :- Expr | Expr :* Expr| Expr :/ Expr

我想要做的是扩展 Expr 数据类型以允许变量和“let”表达式

最佳答案

您需要在传统上称为“环境”的地方传递事件绑定(bind):

evaluate :: Environment -> Expr -> Float

表示环境的方法有很多种。
您需要两个操作:查找绑定(bind)以获取值,并使用新绑定(bind)扩展它。

lookup :: Environment -> String -> Float
extend :: Environment -> String -> Float -> Environment

实现留作练习。

关于Haskell 计算算术表达式并分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68812193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com