バリケンのRuby日記 RSSフィード

2009-02-05

[][] Warblerでwarファイルを作る  Warblerでwarファイルを作る - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  Warblerでwarファイルを作る - バリケンのRuby日記  Warblerでwarファイルを作る - バリケンのRuby日記 のブックマークコメント

じゃあ、このあいだの日記でインストールしたWarblerを使って、このあいだ作ったWebアプリをwarファイルにしてみよう!

まずはwarファイルにしたいRailsプロジェクトのディレクトリに移動するよ。

D:\>cd rails

D:\rails>cd cookbook

D:\rails\cookbook>

つぎに、Warblerのconfigファイルを作成するよ。「warble config」と入力してね。

D:\rails\cookbook>warble config
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/gems/warbler-0.9.12/generators/warble/templa
tes/warble.rb config/warble.rb

D:\rails\cookbook>

できあがったconfig/warble.rbを適当なテキストエディタ(メモ帳だと改行コードをうまく解釈できないみたいだから、メモ帳以外のテキストエディタを使ってね)で編集してね。具体的には、このあいだインストールしたactiverecord-jdbcsqlite3-adapterjruby-opensslを指定するよ。

  # Gems to be included. You need to tell Warbler which gems your application needs
  # so that they can be packaged in the war file.
  # The Rails gems are included by default unless the vendor/rails directory is present.
  config.gems += ["activerecord-jdbcsqlite3-adapter", "jruby-openssl"]
  # config.gems << "tzinfo"

あとは「warble war」と入力すれば、必要なファイルを集めてwarファイルを作ってくれるよ。

D:\rails\cookbook>warble war
mkdir -p tmp/war/WEB-INF/gems/specifications
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/rails-2.2.2.gemspec tmp/war/W
EB-INF/gems/specifications/rails-2.2.2.gemspec
mkdir -p tmp/war/WEB-INF/gems/gems
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/rake-0.8.3.gemspec tmp/war/WE
B-INF/gems/specifications/rake-0.8.3.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/activesupport-2.2.2.gemspec t
mp/war/WEB-INF/gems/specifications/activesupport-2.2.2.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/activerecord-2.2.2.gemspec tm
p/war/WEB-INF/gems/specifications/activerecord-2.2.2.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/actionpack-2.2.2.gemspec tmp/
war/WEB-INF/gems/specifications/actionpack-2.2.2.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/actionmailer-2.2.2.gemspec tm
p/war/WEB-INF/gems/specifications/actionmailer-2.2.2.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/activeresource-2.2.2.gemspec
tmp/war/WEB-INF/gems/specifications/activeresource-2.2.2.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/activerecord-jdbcsqlite3-adap
ter-0.9.gemspec tmp/war/WEB-INF/gems/specifications/activerecord-jdbcsqlite3-ada
pter-0.9.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/activerecord-jdbc-adapter-0.9
.gemspec tmp/war/WEB-INF/gems/specifications/activerecord-jdbc-adapter-0.9.gemsp
ec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/jdbc-sqlite3-3.5.8.gemspec tm
p/war/WEB-INF/gems/specifications/jdbc-sqlite3-3.5.8.gemspec
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/specifications/jruby-openssl-0.3.gemspec tmp
/war/WEB-INF/gems/specifications/jruby-openssl-0.3.gemspec
mkdir -p tmp/war/WEB-INF/app
mkdir -p tmp/war/WEB-INF/config
mkdir -p tmp/war/WEB-INF/lib
mkdir -p tmp/war/WEB-INF/log
mkdir -p tmp/war/WEB-INF/vendor
mkdir -p tmp/war/WEB-INF/tmp
mkdir -p tmp/war/WEB-INF/app/controllers
mkdir -p tmp/war/WEB-INF/app/helpers
mkdir -p tmp/war/WEB-INF/app/models
mkdir -p tmp/war/WEB-INF/app/views
cp app/controllers/application.rb tmp/war/WEB-INF/app/controllers/application.rb

cp app/controllers/recipes_controller.rb tmp/war/WEB-INF/app/controllers/recipes
_controller.rb
cp app/helpers/application_helper.rb tmp/war/WEB-INF/app/helpers/application_hel
per.rb
cp app/helpers/recipes_helper.rb tmp/war/WEB-INF/app/helpers/recipes_helper.rb
cp app/models/recipe.rb tmp/war/WEB-INF/app/models/recipe.rb
mkdir -p tmp/war/WEB-INF/app/views/layouts
mkdir -p tmp/war/WEB-INF/app/views/recipes
cp app/views/layouts/recipes.html.erb tmp/war/WEB-INF/app/views/layouts/recipes.
html.erb
cp app/views/recipes/edit.html.erb tmp/war/WEB-INF/app/views/recipes/edit.html.e
rb
cp app/views/recipes/index.html.erb tmp/war/WEB-INF/app/views/recipes/index.html
.erb
cp app/views/recipes/new.html.erb tmp/war/WEB-INF/app/views/recipes/new.html.erb

cp app/views/recipes/show.html.erb tmp/war/WEB-INF/app/views/recipes/show.html.e
rb
cp config/boot.rb tmp/war/WEB-INF/config/boot.rb
cp config/database.yml tmp/war/WEB-INF/config/database.yml
cp config/environment.rb tmp/war/WEB-INF/config/environment.rb
mkdir -p tmp/war/WEB-INF/config/environments
mkdir -p tmp/war/WEB-INF/config/initializers
mkdir -p tmp/war/WEB-INF/config/locales
cp config/routes.rb tmp/war/WEB-INF/config/routes.rb
cp config/warble.rb tmp/war/WEB-INF/config/warble.rb
cp config/environments/development.rb tmp/war/WEB-INF/config/environments/develo
pment.rb
cp config/environments/production.rb tmp/war/WEB-INF/config/environments/product
ion.rb
cp config/environments/test.rb tmp/war/WEB-INF/config/environments/test.rb
cp config/initializers/inflections.rb tmp/war/WEB-INF/config/initializers/inflec
tions.rb
cp config/initializers/mime_types.rb tmp/war/WEB-INF/config/initializers/mime_ty
pes.rb
cp config/initializers/new_rails_defaults.rb tmp/war/WEB-INF/config/initializers
/new_rails_defaults.rb
cp config/locales/en.yml tmp/war/WEB-INF/config/locales/en.yml
mkdir -p tmp/war/WEB-INF/lib/tasks
mkdir -p tmp/war/WEB-INF/vendor/plugins
mkdir -p tmp/war/WEB-INF/tmp/cache
mkdir -p tmp/war/WEB-INF/tmp/pids
mkdir -p tmp/war/WEB-INF/tmp/sessions
mkdir -p tmp/war/WEB-INF/tmp/sockets
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/gems/warbler-0.9.12/lib/jruby-complete-1.1.6
.jar tmp/war/WEB-INF/lib/jruby-complete-1.1.6.jar
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/gems/warbler-0.9.12/lib/jruby-complete-1.1.6
.jar tmp/war/WEB-INF/lib/jruby-complete-1.1.6.jar
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/gems/warbler-0.9.12/lib/jruby-rack-0.9.3.jar
 tmp/war/WEB-INF/lib/jruby-rack-0.9.3.jar
cp D:/jruby-1.1.6/lib/ruby/gems/1.8/gems/warbler-0.9.12/lib/jruby-rack-0.9.3.jar
 tmp/war/WEB-INF/lib/jruby-rack-0.9.3.jar
cp public/404.html tmp/war/404.html
cp public/422.html tmp/war/422.html
cp public/500.html tmp/war/500.html
cp public/dispatch.cgi tmp/war/dispatch.cgi
cp public/dispatch.fcgi tmp/war/dispatch.fcgi
cp public/dispatch.rb tmp/war/dispatch.rb
cp public/favicon.ico tmp/war/favicon.ico
mkdir -p tmp/war/images
cp public/index.html tmp/war/index.html
mkdir -p tmp/war/javascripts
cp public/robots.txt tmp/war/robots.txt
mkdir -p tmp/war/stylesheets
cp public/images/rails.png tmp/war/images/rails.png
cp public/javascripts/application.js tmp/war/javascripts/application.js
cp public/javascripts/controls.js tmp/war/javascripts/controls.js
cp public/javascripts/dragdrop.js tmp/war/javascripts/dragdrop.js
cp public/javascripts/effects.js tmp/war/javascripts/effects.js
cp public/javascripts/prototype.js tmp/war/javascripts/prototype.js
cp public/stylesheets/scaffold.css tmp/war/stylesheets/scaffold.css
mkdir -p tmp/war/WEB-INF

D:\rails\cookbook>

プロジェクトのディレクトリに「cookbook.war」というファイルができているはずだよ。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20090205

2009-02-02

[][] Warbler  Warbler - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  Warbler - バリケンのRuby日記  Warbler - バリケンのRuby日記 のブックマークコメント

昨日の日記で簡単なRuby on Railsアプリを作ったけど、こうしたRailsアプリをインターネット上に公開するには、アプリケーションサーバにデプロイする必要があるよ。

Ruby on Railsのアプリケーションサーバとして利用されるソフトウェアとしては、MongrelPassengerが有名だよね。

それ以外の選択肢として、Warblerを利用してRailsアプリをwarファイルに変換して、TomcatなどのJavaのアプリケーションサーバで動かす方法があるみたいだよ。

Warblerのインストールは、「gem install warbler」でいいみたい。

D:\>gem install warbler
Successfully installed warbler-0.9.12
1 gem installed
Installing ri documentation for warbler-0.9.12...
Installing RDoc documentation for warbler-0.9.12...

D:\>

使い方はこちらのサイトで紹介されているみたいだから、参考にしてみてね。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20090202

2009-02-01

[][] JRubyRuby on Rails  JRubyでRuby on Rails - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  JRubyでRuby on Rails - バリケンのRuby日記  JRubyでRuby on Rails - バリケンのRuby日記 のブックマークコメント

昨日の日記でせっかくRuby on Railsをセットアップしたから、チュートリアルを参考に簡単なWebアプリ(クックブック)を作ってみるよ。

D:\Users\muscovyduck>cd \

D:\>mkdir rails

D:\>cd rails

D:\rails>rails cookbook
      create
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  script/process
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application.rb
      create  app/helpers/application_helper.rb
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/environment.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  script/performance/request
      create  script/process/reaper
      create  script/process/spawner
      create  script/process/inspector
      create  script/runner
      create  script/server
      create  script/plugin
      create  public/dispatch.rb
      create  public/dispatch.cgi
      create  public/dispatch.fcgi
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log

D:\rails>cd cookbook

ここで、config/database.ymlを適当なテキストエディタ(メモ帳だと改行コードをうまく解釈できないみたいだから、メモ帳以外のテキストエディタを使ってね)で編集してね。具体的には「adapter: sqlite3」となっているところ(3ヶ所)を「adapter: jdbcsqlite3」に変更してね。以下のような内容になるよ。

# SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: jdbcsqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: jdbcsqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: jdbcsqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

じゃあ、続けるよ。

D:\rails\cookbook>jruby script/generate scaffold Recipe title:string chef:string
 instructions:text
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/recipes
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      exists  public/stylesheets/
      create  app/views/recipes/index.html.erb
      create  app/views/recipes/show.html.erb
      create  app/views/recipes/new.html.erb
      create  app/views/recipes/edit.html.erb
      create  app/views/layouts/recipes.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/recipes_controller.rb
      create  test/functional/recipes_controller_test.rb
      create  app/helpers/recipes_helper.rb
       route  map.resources :recipes
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/recipe.rb
      create    test/unit/recipe_test.rb
      create    test/fixtures/recipes.yml
      create    db/migrate
      create    db/migrate/20090131143104_create_recipes.rb

D:\rails\cookbook>rake db:migrate
(in D:/rails/cookbook)
==  CreateRecipes: migrating ==================================================
-- create_table(:recipes)
   -> 0.3493s
   -> 0 rows
==  CreateRecipes: migrated (0.3670s) =========================================

D:\rails\cookbook> jruby script/server
=> Booting WEBrick...
=> Rails 2.2.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2009-01-31 23:36:51] INFO  WEBrick 1.3.1
[2009-01-31 23:36:51] INFO  ruby 1.8.6 (2008-12-17) [java]
[2009-01-31 23:36:51] INFO  WEBrick::HTTPServer#start: pid=2452 port=3000

チュートリアルルのとおり、Webブラウザでhttp://127.0.0.1:3000/recipes/newにアクセスして、レシピを追加してみてね。

まだじっくりと使い込んだわけじゃないけど、JRubyでもとりあえずRuby on Railsが動くんだねえ。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20090201

2009-01-31

[] jirb_swing  jirb_swing - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  jirb_swing - バリケンのRuby日記  jirb_swing - バリケンのRuby日記 のブックマークコメント

このあいだの日記で、Rubyのコードをインタラクティブに実行するコマンドirbJRuby版「jirb」について紹介したけど、JavaGUIライブラリ「swing」を利用した「jirb_swing」というのもあるみたいだよ。

jirb_swingを起動するには、コマンドプロンプトで「jirb_swing」と入力してね。次のようにirbのプロンプトが表示されるよ。

f:id:muscovyduck:20090131202526p:image

ちなみに、「JavaプログラマのためのRuby入門」のP28「JRubyの実行方法」にもjirb_swingについてちょこっと書いてあったよ。

JavaプログラマのためのRuby入門

JavaプログラマのためのRuby入門

[] JRubyRubyGems  JRubyでRubyGems - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  JRubyでRubyGems - バリケンのRuby日記  JRubyでRubyGems - バリケンのRuby日記 のブックマークコメント

RubyにはRubyGemsというパッケージマネジメントシステムがあって、いろいろなRubyのライブラリをパッケージとしてインターネットから取ってくる機能があるんだけど、JRubyでもちゃんとRubyGemsを利用することができるよ。RubyGemsについては、るびまの記事を参考にしてね。

RubyGemsを利用するには、gemコマンドを使うよ。このあいだインストールしたJRuby 1.1.6には、RubyGems 1.3.1が付属しているみたい。

D:\>gem -v
1.3.1

D:\>

じゃあ、ためしにJRubygemコマンドを利用してRuby on Railsをインストールしてみよう!コマンドラインで「gem install rails」と入力してね。

D:\>gem install rails
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed activesupport-2.2.2
Successfully installed activerecord-2.2.2
Successfully installed actionpack-2.2.2
Successfully installed actionmailer-2.2.2
Successfully installed activeresource-2.2.2
Successfully installed rails-2.2.2
6 gems installed
Installing ri documentation for activesupport-2.2.2...
Installing ri documentation for activerecord-2.2.2...
Installing ri documentation for actionpack-2.2.2...
Installing ri documentation for actionmailer-2.2.2...
Installing ri documentation for activeresource-2.2.2...
Installing RDoc documentation for activesupport-2.2.2...
Installing RDoc documentation for activerecord-2.2.2...
Installing RDoc documentation for actionpack-2.2.2...
Installing RDoc documentation for actionmailer-2.2.2...
Installing RDoc documentation for activeresource-2.2.2...

D:\>

あれ、最初のほうで「jruby-openssl」というパッケージもインストールするように言われたから、入れてみるよ。コマンドラインで「gem install jruby-openssl」と入力してね。

D:\>gem instal jruby-openssl
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Successfully installed jruby-openssl-0.3
1 gem installed
Installing ri documentation for jruby-openssl-0.3...
Installing RDoc documentation for jruby-openssl-0.3...

D:\>

Ruby on Railsを利用するにはRakeも必要だから、インストールするよ。インストールはコマンドラインで「gem install rake」と入力してね。

D:\>gem install rake
Successfully installed rake-0.8.3
1 gem installed
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...

D:\>

あとはRuby on Railsで利用するデータベースアダプタをインストールするよ。JRubyで利用するデータベースアダプタは、JDBCと呼ばれるJavaのアダプタ経由で利用するみたいだよ。たとえばSQLite3を利用する場合は、jdbc-sqlite3アダプタと、それをActiveRecordから利用するactiverecord-jdbcsqlite3-adapterが必要になるみたい。

インストールはコマンドラインで「gem install activerecord-jdbcsqlite3-adapter」と入力してね。依存関係のあるjdbc-sqlite3もいっしょにインストールされるよ。

D:\>gem install activerecord-jdbcsqlite3-adapter
Successfully installed jdbc-sqlite3-3.5.8
Successfully installed activerecord-jdbcsqlite3-adapter-0.9
2 gems installed
Installing ri documentation for jdbc-sqlite3-3.5.8...
Installing ri documentation for activerecord-jdbcsqlite3-adapter-0.9...
Installing RDoc documentation for jdbc-sqlite3-3.5.8...
Installing RDoc documentation for activerecord-jdbcsqlite3-adapter-0.9...

D:\>

もちろんSQLite3自体もインストールしないとね。Windowsの場合は、SQLite3のダウンロードサイトからsqlitedll-3_6_10.zipをダウンロードして、アーカイブファイルの中にあるsqlite3.dllを\Windows\System32フォルダにコピーすればインストール完了だよ。

[] Google検索がおかしい?  Google検索がおかしい? - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  Google検索がおかしい? - バリケンのRuby日記  Google検索がおかしい? - バリケンのRuby日記 のブックマークコメント

検索結果へのリンクが、すべて「このサイトはコンピュータに損害を与える可能性があります。」ってなっちゃうみたい。

f:id:muscovyduck:20090131235739p:image

こういうこともあるんだねえ。

2009-01-30

[] JavaHello, World!  JavaでHello, World! - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  JavaでHello, World! - バリケンのRuby日記  JavaでHello, World! - バリケンのRuby日記 のブックマークコメント

ぼくはJavaは知らないけど、せっかく「JavaプログラマのためのRuby入門」にJavaのコードも記載されているから、試してみたいと思うよ。

JavaプログラマのためのRuby入門

JavaプログラマのためのRuby入門

まずは「JavaプログラマのためのRuby入門」P36のList0102.javaをテキストエディタで書いてみるよ。

D:\>notepad List0102.java

次のような内容にするよ。

public class List0101 {
    public static void main(String[] args) {
        System.out.println("hello world !".toUpperCase());
    }
}

じゃあ、このファイルをコンパイルしてみよう!Javaのソースコードをコンパイルするにはjavacコマンドを使うよ。

D:\>javac List0102.java
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

D:\

あれ、エラーになっちゃった。javacコマンドにパスが通っていなかったみたいだよ。パスを通してもう一度。

D:\>set PATH=%JAVA_HOME%\bin;%PATH%
D:\>javac List0102.java
List0102.java:1: クラス List0101 は public であり、ファイル List0101.java で宣言
しなければなりません。
public class List0101 {
       ^
エラー 1 個

D:\>

ありゃ、今度はソースコードに問題があるみたい。どうやら、Javaはファイル名とクラス名を一緒にしないといけないみたいだよ。というわけで、List0102.javaの「public class List0101」を「public class List0102」に修正するよ。

public class List0102 {
    public static void main(String[] args) {
        System.out.println("hello world !".toUpperCase());
    }
}

今度は大丈夫かな?

D:\>javac List0102.java

D:\>

エラーが表示されなかったから、うまくいったみたい。ちゃんとコンパイルできていれば、「List0102.class」というファイルができているはずだよ。

じゃあ、実行してみよう!実行は「java List0102」とコマンドを入力するよ。

D:\>java List0102
HELLO WORLD !

D:\>

今度はうまくいったみたい!

[] JRubyからJavaのクラスを利用する  JRubyからJavaのクラスを利用する - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  JRubyからJavaのクラスを利用する - バリケンのRuby日記  JRubyからJavaのクラスを利用する - バリケンのRuby日記 のブックマークコメント

JRubyは、Javaで作ったプログラムを呼び出すことができるみたいだよ。

じゃあ、さっき作ったList0102クラスをJRubyから呼び出してみよう!まずはrequireでファイルを読み込んで、次に「include Java」「import クラス名」とするよ。

D:\>jirb
irb(main):001:0> require 'List0102'
=> true
irb(main):002:0> include Java
=> Object
irb(main):003:0> import 'List0102'
=> ["List0102"]
irb(main):004:0>

じゃあ、mainメソッドを呼び出してみよう!

irb(main):004:0> List0102.main
ArgumentError: wrong # of arguments(0 for 1)
        from (irb):10
irb(main):005:0>

あれ、エラーになっちゃった。引数が足りないみたい。とりあえずnilを引数に設定しておけばいいかな?

irb(main):005:0> List0102.main(nil)
HELLO WORLD !
=> nil
irb(main):006:0>

今度はうまくいったよ!

ちなみに、このあたりは「JavaプログラマのためのRuby入門」のP285~P288「外部ライブラリの読み込み」にも情報があるから、参考にしてね。

JavaプログラマのためのRuby入門

JavaプログラマのためのRuby入門

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20090130