0
我有一个测试用例,我将一个长度为3的列表传递给case
。由于榆树不允许你错过一个案子,所以我需要覆盖其他案件(并且只返回Expect.fail "this should never happen"
)。Elm:匹配长度列表!= n
列出长度为0, 1, 2, ... n-1
的清单,然后n+1 :: _
的作品,但它非常冗长。
如何匹配除3以外的任何长度的列表? (如果3是477,那该怎么办?)
我有一个测试用例,我将一个长度为3的列表传递给case
。由于榆树不允许你错过一个案子,所以我需要覆盖其他案件(并且只返回Expect.fail "this should never happen"
)。Elm:匹配长度列表!= n
列出长度为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
你真的需要一个'case'或将一个'if'足够好? –
@AntoineSnyers我想'if'也可以。这是一个我刚刚匹配的[1,2,3]。 –