-2

式に含まれる変数の値のリストが与えられた場合、どのように式を評価できますか?

eval::[(Variable,Integer)]->Expr->Integer

例:

eval[("x",2), ("y",4)](Mult(Plus(Var "x") (Const))(Var "y"))= 12
4

1 に答える 1

1

Variable と Expr は、Haskell の組み込み型ではありません。

ライブラリを使用している場合や、より大きなプログラムの一部で作業している場合は、必要な機能が含まれている可能性があります。

これらのタイプを自分で定義した場合、それはあなた次第です。

これが授業用の場合は、文法と解析手法について読みたいと思うかもしれません。文字列をトークンに分割し、評価できる記号表現を構築してみてください。まだ見つけていない場合は、 http: //www.zvon.org/other/haskell/Outputglobal/index.html が参考になります。

もっと重いものに興味がある (そして haskell とモナド プログラミングをしっかりと把握している) 場合は、Parsec http://www.haskell.org/haskellwiki/Parsecの使い方を学ぶことに時間を投資することをお勧めします。

于 2008-11-28T00:51:35.970 に答える