2017-06-08 14 views
1

私はリストのリストをたどって各リストを操作しようとしています。Haskellリスト操作

私が操作を実行するには、このXを使用できるように、どのように私は、x = [("vT",T),("vF",T)]を設定する関数を

[[("vT",T),("vF",T)],[("vT",T),("vF",F)],[("vT",F),("vF",T)],[("vT",T),("vF",M)],[("vT",M),("vF",T)],[("vT",M),("vF",M)],[("vT",F),("vF",F)],[("vT",F),("vF",M)],[("vT",M),("vF",F)]] 

のようなリストを作成することができ、その後、その上x = [("vT",T),("vF",F)]を設定した後、持っている場合はそれぞれの答えはリストに返されますか?

+3

あなたは 'map'をお探しですか? –

+0

あなたは精緻化できますか?たとえば、いくつかのサンプル入力と、出力が期待されるものを表示します。 –

+0

私はより多くの情報を追加しました。 – user3277930

答えて

2

あなたは、リストの各要素に関数を適用するmapを使用することができます - ここでは完全な例です:

data Tribool = T | F | M deriving Show 

my_data = [ 
    [("vT",T),("vF",T)], 
    [("vT",T),("vF",F)], 
    [("vT",F),("vF",T)], 
    [("vT",T),("vF",M)], 
    [("vT",M),("vF",T)], 
    [("vT",M),("vF",M)], 
    [("vT",F),("vF",F)], 
    [("vT",F),("vF",M)], 
    [("vT",M),("vF",F)] 
    ] 

f x = reverse x -- example function 

processed_data = map f my_data