我有一个测试用例,我将长度为3的列表传递给case
。由于Elm不允许你错过一个案例,我需要覆盖其他案例(并且只返回Expect.fail "this should never happen"
)。
列出长度为0, 1, 2, ... n-1
然后n+1 :: _
的列表的案例,但它非常详细。
如何匹配除3之外的任何长度的列表? (如果3是477,那该怎么办?)
答案 0 :(得分:5)
您只需匹配三个项目的大小写,并使用_
处理其他所有组合。这是一个将三个列表转换为三个大小的元组的示例,或者当列表不完全是三个项目时返回Nothing
。
toTuple3 : List a -> Maybe (a, a, a)
toTuple3 list =
case list of
a :: b :: c :: [] ->
Just (a, b, c)
_ ->
Nothing