関数型プログラミング言語Haskell Part28at TECH
関数型プログラミング言語Haskell Part28 - 暇つぶし2ch46:デフォルトの名無しさん
15/04/13 07:16:38.90 WAzsEDwP.net
Haskell 初心者です。分からない事があるのですが、すごいHaskell本のp93の
import Data.List
wordNums :: String -> [(String,Int)]
wordNums = map (\ ws -> (head ws, length ws)) . group . sort . words
このwordNums関数がよく分かりません、wordNums関数を使う場合、何故String(=[Char]?)を渡してwords関数がちゃんと適用されるのでしょうか?
mapの定義は
map :: (a -> b) -> [a] -> [b]
map f xs = foldr (\ x acc -> f x : acc) [] xs
こんな感じだと思っているのですが、
それだとStringの一文字毎にfが適用されていく事になり全く意味が無いと思ってしまいます…(実際はちゃんと文字列に対するwordsになっているのですが)
日本語が分かりにくくて申し訳無いのですが、分かった方はどなたか解説して頂けたら頂けたら嬉しいです…


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch