4

宿題のサブタスクは、算術関数(+)(-)(*)および表示可能にすることdivです。

課題の残りは解決しましたが、ここで立ち往生しています。現在、この質問に対する解決策を使用して、操作を区別しています。

showOp op = case op 3 3 of
          6 -> "plus"
          0 -> "minus"
          9 -> "times"
          1 -> "divide"
          _ -> "undefined"

showOp (\a b -> a * 3 - y)しかし、これはyieldのようなものと同じくらい醜いと思い"plus"ます。

演算子をよりよく区別する方法はありますか?

-98 +o必要な拡張機能を使用できるようにするために、適切なスイッチで winhugs atm を使用しています。

編集: 要求どおり、実際の割り当ては配列 (具体的にはArray Int (Int -> Int -> Int)) と関係があります。特定の条件を満たす演算子の配列を生成する必要があります。

割り当ては次のように述べています。

データ型Array Int (Int->Int-Int)を のインスタンスにしShowます。前の演習の算術演算は、「plus」、「minus」、「times」、および「div」で表す必要があります。

事前に助けを求めるthx

4

1 に答える 1