学習ログ
Recursive Types
data Tree a = Node a (Tree a) (Tree a) | Empty deriving(Show)
ツリーの定義が簡潔でいいな、と思った。
Wild Card, Pattern Matching, and Parameterized Types
-- MyThird.hs tidyThird :: [a] -> Maybe a tidyThird (_:_:x:_) = Just x tidyThird _ = Nothing
> :load MyThird.hs > tidyThird "ab" Nothing > tidyThird "abcd" Just 'c' > tidyThird [1,2,3,4] Just 3
(_:_:x:_) Wild Cardを使って三番目要素をJustで包んで
マッチしなければ Nothing
MaybeはJavaのgenericsのような存在らしいが、よくわからんかった。
Maybeの関連キーワードは、JustとNothingだが、よくわからんかった。
Maybe is polymorphic, or generic, type. ....
Real World Haskell: Code You Can Believe In
- 作者: Bryan O'Sullivan,John Goerzen,Donald Bruce Stewart
- 出版社/メーカー: O'Reilly Media
- 発売日: 2008/12/05
- メディア: ペーパーバック
- 購入: 2人 クリック: 78回
- この商品を含むブログ (40件) を見る