ghci> :t head head :: [a] -> a
ここでいうaを型変数という。どんな型もとりうることを意味する。
型変数を用いた関数を多相型関数という。
ジェネリクスに似ているって説明があるけど、よく考えたら動的言語にそういう概念ってないよね。
Scalaもこういうふうに書くことで型変数的なのが実現できると思われる。
def head[A](xs: List[A]): A = xs(0)
- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (69件) を見る