Haskell入門 を久しぶりに読み直してみた。P168にMaybeモナドについて少し復習してみた。
getItemWithMonad menu category name =do
subMenu <- lookup category menu
price <- lookup name subMenu
return (category,name,price)
subMenu <- lookup category menu
price <- lookup name subMenu
return (category,name,price)
途中、Nothingを記述しなくても自動的に、該当しなければ、最後はNothingになる。うまくできていると思う。
これを、手続き型言語で、実現しようとすると条件分岐に頼らざるを得ないけど、その必要もない。
このへんが、関数型言語のモナドの強みなのかもしれない。
これを、手続き型言語で、実現しようとすると条件分岐に頼らざるを得ないけど、その必要もない。
このへんが、関数型言語のモナドの強みなのかもしれない。
0 件のコメント:
コメントを投稿