対象: Javaオブジェクトの利用等JRubyならばJava API等を煩わしいコンパイルなしに利用できる。そして、もちろん既存のJava資産を活用することができる。 Javaメソッドの呼び出しJavaオブジェクトを利用するには、そのオブジェクトをフルパスで記述し、続けてnewメソッドを呼び出す。Javaではオブジェクトを生成するnew構文があるが、JRubyでJavaオブジェクトを利用するときはnewメソッドを利用することになる。尚、Javaオブジェクトを利用する場合、先頭でrequire "java"が必須である。 require "java" java_date = java.util.Date.new #java_date = Java::JavaUtil::Date.new # こちらでもOK p java_date.to_string java.util.Dateが表す時刻を文字列として取り出すには、普通にtoStringメソッドを呼び出せば良い。この他に、to_stringといったRuby風の呼び出しも可能である。好きなほうで呼ぶと良いだろう。 setter、及びgetterの呼び出しと定数の参照普通のメソッドは上記の通りだが、特にsetterとgetterはset、及びgetを省略できる。例えば、getTimeZoneはtime_zone(timeZoneでもOK)、getDisplayNameはdisplay_name(displayNameでもOK)で呼び出すことができる。同様にisも省略可能である。例えば、isLenientはlenientで値を得ることができる。また、定数はjava.util.Locale::USのように、::の後に定数名を記述することで参照できる。 require "java" java_import "java.text.SimpleDateFormat" java_import "java.util.Locale" df = SimpleDateFormat.new p df.time_zone.display_name(Locale::US) # メソッド名のgetは不要 p df.lenient # isも省略可 上記の例ではSimpleDateFormatを予めjava_importしているので、SimpleDateFormatのnewメソッド呼び出し時にフルパスを記述する必要がない。 [mobile@localhost ruby]$ jruby simple_date_format_test.rb "Japan Standard Time" true (2011/01/13)
Copyright(C) 2004-2014 モバイル開発系(K) All rights reserved.
[Home]
|