在haskell中,合并;案例;及&燃气轮机&燃气轮机=&引用;
我有很多这种风格的代码:在haskell中,合并;案例;及&燃气轮机&燃气轮机=&引用;,haskell,case,Haskell,Case,我有很多这种风格的代码: do x <- getSomething case x of this -> ... that -> ... other -> ... do x。。。 那-->。。。 其他->。。。 任何组合“x的方法都可以使用bind操作符来管道化x import System.Environment (getArgs) main :: IO () main = getArgs >>= process
do
x <- getSomething
case x of
this -> ...
that -> ...
other -> ...
do
x。。。
那-->。。。
其他->。。。
任何组合“x的方法都可以使用bind操作符来管道化
x
import System.Environment (getArgs)
main :: IO ()
main = getArgs >>= process
where process ["xxx"] = putStrLn "You entered xxx"
process ["yyy"] = putStrLn "You entered yyy"
process _ = putStrLn "Error"
我这样做是因为
foo "this" = return 2
foo "that" = return 3
main = foo =<< getSomething
foo“this”=返回2
foo“that”=返回3
main=foo=如果您想要非常接近的东西:
getSomething >>= caseOf
this -> expr1
that -> expr2
other -> expr3
那么我认为你只是运气不好——Haskell中没有这样的语法。但要知道,你并不孤单。Mark Jones将习惯语言定义为包含一种带有语法的一元格:
case<- getSomething of
Nothing -> expr1
Just x -> expr2 x
case expr1
只需x->expr2 x
他把这称为语言定义中的“Case From”语句。我希望Case of
是\x->Case x of
的缩写。
case<- getSomething of
Nothing -> expr1
Just x -> expr2 x