JRubyを使ってFizz-Buzz問題を解く
JRubyを使ってFizz-Buzz問題を解いてみましょう。以下手順。
- Java(JDK)をインストールします。
- (省略)
- JRubyをダウンロードします。
- JRubyを展開します。
- unzip jruby-bin-1.0.0RC2.zip
- バッチファイルjruby.batを作ります。
@echo off set JAVA_HOME=C:\work\jdk1.5.0 C:\work\jruby\jruby-1.0.0RC2\bin\jruby %1 %2 %3 %4 %5 %6 %7 %8 %9
a = Array.new (1..100).each do |k| if k % 3 == 0 and k % 5 == 0 a << 'FizzBuzz' elsif k % 3 == 0 a << 'Fizz' elsif k % 5 == 0 a << 'Buzz' else a << k end end puts a
C:\work> jruby fizz.rb 1 2 Fizz 4 Buzz Fizz (略) FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz
追記:
実際にはjruby.batを作る必要はなくて、binを環境変数PATHに含めておき、環境変数JAVA_HOMEを適切に設定しておくだけでよい。
追記:
sumimさんが、rubycoのこのエントリの意図を非常に良く理解してくださって、とてもうれしい。
噂の JRuby が思いのほか簡単に使えそうだということがわかったので
Ruby の Thread.pass によるスレッドの明示的切り替えは異常に重い? - Smalltalkのtは小文字です