Haskell触ってみる(2)
というわけで結構ヤバいのではと思いつつ触ってます。
正直言って寝起きなので変なこと書きまくってるかもしれない。
リポジトリはここでやってるのでツッコミをいただけるとありがたかったり。
haru2036/learnHaskell · GitHub
なんとかそれぞれの要素に対しての出現頻度を数えることができるようになりました。
ただなんか実行結果がfromListって関数が帰ってきてるようにしか見えないのでなんか違う感があったりする。
ソース:
import Data.List import Data.HashMap.Lazy searchAndCountWords :: String -> [String] -> Int getUnigramFrequency :: [String] -> HashMap String Int getUnigramFrequency sList = fromList [(a, searchAndCountWords a sList) | a <- nub sList] searchAndCountWords key items = length $ Data.List.filter (==key) items main = return $ getUnigramFrequency ["a", "a", "ba", "bb", "ab", "a"]
実行結果:
fromList [("bb",1),("ba",1),("ab",1),("a",3)]
HashMap使うためにはパッケージ追加でインストールしないといけないのねとか。
あと、Data.HashMap.LazyとData.HashMap.Strictってどっち使えばいいのかわからないし英語読めないので辛いし英語も勉強しないとヤバいのではってなってる