我在Elm中遇到了一个经常遇到的问题,其中我有一个函数依赖于多个Just值。有没有那么冗长的方法来编写此代码:
commandIf apples bananas oranges =
case apples of
Just apples_ ->
case bananas of
Just bananas_ ->
case oranges of
Just oranges_ ->
someCommand apples_ bananas_ oranges_
Nothing ->
Cmd.none
Nothing ->
Cmd.none
Nothing ->
Cmd.none
最佳答案
如果您同时需要所有三个值,则可以将它们作为一个元组进行匹配,并将所有其他组合(当其中一个或几个是Nothing
时)保留为后备情况:
commandIf apples bananas oranges =
case (apples, bananas, oranges) of
(Just apples_, Just bananas_, Just oranges_) ->
someCommand apples_ bananas_ oranges_
_ ->
Cmd.none
关于functional-programming - 有没有更详细的方法来解开Elm中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40600296/