本格的にHaskellをはじめてみました
そういや積み本になっていた「すごいHaskell楽しく学ぼう!」、通称すごいH本。これは消化せねばとか思いつつなにもないとどうせやらないので「初心者がHaskellに挑戦してみた」的なのでLTやるって宣言してしまえばとか思い立ち、闇鍋勉強会(http://atnd.org/events/29973)で空きがあったようなのでLTさせてもらうことに。これでもう後には引けない...とりあえず一週間ですごいH本を写経したり読んだりしてそこからなにか製作する予定。とりあえず今日は4章まですすんだ。(これからもうちょっとすすめるつもり。)
とりあえず鉄板のFizzBuzz。
mapfizzBuzz :: Int ->String mapfizzBuzz n | (n `mod` 3 ==0)&& (n `mod` 5 ==0) = "FizzBuzz" | n `mod` 3 ==0 ="Fizz" | n `mod` 5 ==0 ="Buzz" |otherwise = show n fizzBuzzMain :: [Int] -> [String] fizzBuzzMain xs =[mapfizzBuzz x | x<-xs ]
fizzBuzzMainに数列のリストを渡すとそれからFizzBuzzのルールに従って変形したリストを返してくれる。もうちょっとスマートにかけないかな?とか思う。それでもHaskellのコードはつくづく短いなぁと。一番なやんだところが、「`」ですw 普段打たないのでどこにあるかわからず探してしまった...@マークのところでした。一番の難関は記号かなとか。
はたして間に合うのか?とりあえずがんばります。