タグ: 関数志向

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

そういえばTsukuba.Rに行ってきたんだった

なんか興奮してHaskellとか書いてたけど、一昨日Tsukuba.Rに参加して、Rを勉強してきたんだった。そこで、syou6162先生に教わったsapply()を使ってfizzbuzzを書いてみよう。

↓な感じ。

fizzbuzz <- function(x, y) {
    sapply(x:y, function(n) {
        ifelse(n %% 15, ifelse(n %% 3, ifelse(n %% 5, n, "Buzz"), "Fizz"), "FizzBuzz")
    })
}

sapply()を使ったから、for文が消えて少しRっぽくなった気がするけど、いまいち芸がない。もう少し工夫ができそう。

続きを読む

スポンサーサイト

Haskellっぽいfizzbuzz書けた!

昨晩、突然ひらめいてHaskellでfizzbuzzを書いてみた。

fizzbuzz :: Integer -> Integer -> [String]
fizzbuzz x y | x > y           = []
             | (mod x 15) == 0 = "FizzBuzz" : fizzbuzz (x + 1) y
             | (mod x 3)  == 0 = "Fizz"     : fizzbuzz (x + 1) y
             | (mod x 5)  == 0 = "Buzz"     : fizzbuzz (x + 1) y
             | otherwise       = (show x)   : fizzbuzz (x + 1) y

codepadで実行

なんかすごくHaskellっぽいコードを書けたような気がするんだけどどうだろう?少なくとも、依然書いた↓のfizzbuzzよりは手続き色が抜けてるんじゃないかな?

続きを読む

Haskellに入門

関数型言語というものにあこがれて、Haskellを勉強してみようと思い立ちました。

とりあえず、Hugsという処理系を導入(ダウンロードしてインストールするだけ)して、いろいろ調べてみました。

でも、まったく意味がわからない…

続きを読む

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。