Ruby で FizzBuzz

Ruby だとこういうやり方もありなのかなー。

[ソース]

class Integer
    def fizz?
        !fizzbuzz? && self % 3 == 0
    end

    def buzz?
        !fizzbuzz? && self % 5 == 0
    end

    def fizzbuzz?
        self % 15 == 0
    end
end

1.upto 30 do |n|
    puts n.fizz?     ? "Fizz"
       : n.buzz?     ? "Buzz"
       : n.fizzbuzz? ? "FizzBuzz"
       : n
end

[出力]

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz

おもしろい。
Ruby のコーディングスタンダードみたいな記事とかどこかにないかしら。