私は文字列のリストの真理値表を作成しようとしていました。 言って、私はリスト["a","b"]
を持ち、出力として、私はやってのいずれかの簡単な方法があります Haskellのカスタムデータ型のGen
真理値表におけるそれらのインスタンスのそれぞれが
data TableRow = [(String,Bool)]
として定義されたカスタムデータ型ですたいですこの?今まで私はかなり明らかにこの
genRow :: [String] -> [TableRow]
genRow [] = []
genRow (x:xs) = ((makeRow x True) : genRow xs) ++
((makeRow x False) : genRow xs)
をやっている、これは非常に私が期待するものを私に与えるものではありません。 makeRow
にはString
とBool
が入力され、TableRow
が返されます。
これを行うためのクリーナー方法はありますか?おかげ
'makeRow'は何をするのか(新しい行は読みやすくするために追加されましたか)? –
デカルト積を2つのリストにしたいと言っていますか?あなたはリスト内包を知っていますか? – gspr
'data TableRow = [(String、Bool)]'は無効です。データコンストラクタ名が必要です。 –