このtypedefからオブジェクトがあります。
type ListDA = (State, [((State, Char), State)], [State])
関数の場合、2番目の引数が必要ですが、これを取得する方法がわかりません。
このtypedefからオブジェクトがあります。
type ListDA = (State, [((State, Char), State)], [State])
関数の場合、2番目の引数が必要ですが、これを取得する方法がわかりません。
ヘルパー関数を書くことができます:
snd3 :: (a, b, c) -> b
snd3 (_, b, _) = b
または、関数パラメータで直接パターンマッチングを行うこともできます。たとえば、次のように置き換えます。
yourFunction object = ...
と
yourFunction object @ (_, secondArgument, _) = ...
別のタイプを定義する方がよい場合があります。
data ListDA = ListDA {firstField :: State,
secondField :: [((State, Char), State)],
thirdField :: [State]}
このメソッドは、アクセサ関数を定義します。