有没有办法在Haskell中有一个没有相同类型的对的列表,并使函数遍历它.例如:
a = [(1, "uno"), (2, True), (3, 5)]
Run Code Online (Sandbox Code Playgroud)
想要根据第二个值的类型应用函数,类似于评估对的组合的函数 f :: [(Int, #)] -> [a].
只需将值包装在sum-type中.例如,
data StringOrBoolOrInt =
StringOrBoolOrInt_String String |
StringOrBoolOrInt_Bool Bool |
StringOrBoolOrInt_Int Int
a :: [(Int, StringOrBoolOrInt)]
a =
[
(1, StringOrBoolOrInt_String "uno"),
(2, StringOrBoolOrInt_Bool True),
(3, StringOrBoolOrInt_Int 5)
]
Run Code Online (Sandbox Code Playgroud)