-2
如何评估一个表达式,给出它包含的变量的值列表?如何评估表达式?
eval::[(Variable,Integer)]->Expr->Integer
实施例:
eval[("x",2), ("y",4)](Mult(Plus(Var "x") (Const))(Var "y"))= 12
如何评估一个表达式,给出它包含的变量的值列表?如何评估表达式?
eval::[(Variable,Integer)]->Expr->Integer
实施例:
eval[("x",2), ("y",4)](Mult(Plus(Var "x") (Const))(Var "y"))= 12
变量和Expr的不inbuild类型在Haskell。
如果您正在使用库或在大型程序的一部分上工作,它可能具有您以后的功能。
如果您自己定义了这些类型,那么它取决于您。
如果这是课程作业,那么你可能想阅读关于语法和解析技巧。尝试将字符串分解为令牌并构建一个可以评估的符号表示形式。如果你还没有找到它,http://www.zvon.org/other/haskell/Outputglobal/index.html是一个很好的参考网站。
如果你想成为更重量级的人(并且对haskell和monadic编程有坚定的把握),那么我会建议你花时间学习使用Parsec http://www.haskell.org/haskellwiki/Parsec。