私は2タプルのリストを持つ関数を実装しようとしており、それはTrueに対応するタプルを返します。最初の文字はストリングで、2番目の文字はブールです。これは私が欲しいものである:ここではタプルパターンマッチングリストHaskell
pack [ ("a", True), ("b", False), ("c", False), ("d", True) ]
returns [ ("a", True), ("d", True) ]
は私のコードです:
pack :: [String] -> [Bool] -> [(String, Bool)]
pack [] [] = []
pack (x:xs) [] = []
pack [] (y:ys) = []
pack (x:xs) (True:ys) = (x, True) : pack xs ys
pack (x:xs) (False:ys) = pack xs ys
私は{戻り、[( "A"、TRUE)、( "D"、TRUE)]}のみを得ることができます
pack ["a", "b", "c", "d"] [True, False, False, True]
これは私が欲しいものではなく、これにアプローチする方法を混乱させます。どんな助け、指導、リンクも大変ありがとうございます。
'パック=私はそれを使用するのが大好きだ4castle @フィルターsnd' – 4castle
が、私はこれを行うにしようとしていますを使用しますHaskellの関数を使わずに – legoniko