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