2 つの関数を提供する次のデータ型を定義しました。
data Problem = Prob { result :: State -> Action -> State
, stepCost :: State -> Action -> Integer
}
この型をインスタンス化するにはどうすればよいですか? 私はこれを試しました:
let mcp = Prob { result _ _ = (False, (1,1)), stepCost _ _ = 1 } in True
しかし、私は得る: ERROR - 式の構文エラー (予期しない `_')
メンバーが1つの引数しかとらないことを除いて、同様のデータ型をインスタンス化することができました:
data Lala = La { omg :: State
, gee :: Integer
}
let mcp = La { omg = (False, (1,1)), gee = 1 } in True
True を返します。
しかし重要なのは、特定の結果とステップコスト関数を使用してデータ型問題をインスタンス化したいということです。もちろん、これらの関数は引数に依存します。では、どうすればそれらにいくつかの引数を渡すことができますか?