1

背景: 私は wxHaskell の fileOpenDialog を使用しています。これは、6 つの非自明なパラメーター (カリー化) を取ります。私のコードは現在:

maybePath <- fileOpenDialog w useLastSelectedDir canSelectReadOnly
                frameName possibleFiles initialDir defaultFilename

上記のletステートメントを使用して、すべてのパラメーターを定義します。私がやりたいのは、パラメーターをどこかに保存することです。Haskellが次のようなことをサポートしない理由をある程度理解しています:

myParams = ( ... ) -- tuple of params
maybePath <- fileOpenDialog myParams

しかし、繰り返さないという精神の中で、これに近いものはありますか?

4

2 に答える 2

1

より多くの引数を持つuncurryバリアント (こちらを参照) を作成する (あまりきれいではない) 可能性もあります。

uncurry6 :: (a -> b -> c -> d -> e -> f -> g) -> ((a,b,c,d,e,f) -> g)
uncurry6 fun (a,b,c,d,e,f) = fun a b c d e f 

それがあれば、6タプルを受け入れるようにuncurry6 fileOpenDialogなります。fileOpenDialog

于 2015-12-05T20:01:49.527 に答える