« GoogleMapsEditor Ver.1.06 公開 - GoogleMapsAPIを利用した地図コンテンツをプログラムなしで作成できる編集ソフト | メイン | IronRuby PreAlpha 1でWebブラウザを作ってみたが…。 »

IronRuby PreAlpha 1を触ってみる。

先日公開されたIronRubyのプレアルファ版をちょっと触ってみようと思います。

とりあえず以下の手順でビルドしてみました。

  1. IronRuby-Pre-Alpha1.zipをダウンロードし、展開する。
  2. スタートメニューからMicrosoft Visual Studio 2005Visual Studio ToolsVisual Studio 2005 コマンドプロンプトを開く。
    別にこの方法でなくても.NET Framework SDKのbinにパスが通っていたらいいと思います。
  3. カレントディレクトリをIronRuby-Pre-Alpha1.zipを展開したフォルダに変更する。
  4. build.cmdを実行する。
  5. そしたら次のようなファイルができる。
    • Microsoft.Scripting.dll
    • Microsoft.Scripting.pdb
    • Microsoft.Scripting.xml
    • rbx.exe
    • rbx.pdb
    • Ruby.dll
    • Ruby.pdb
    • RubyTestHost.exe
    • RubyTestHost.pdb

生成されたrbx.exeを実行してみると次のような画面になりますよ。
(この実行は普通のコマンドプロンプトでOK)

D:\IronRuby-Pre-Alpha1\Bin\Release>rbx
IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.832
Copyright (c) Microsoft Corporation. All rights reserved.
>>> puts 'Hello, World'
=> nil
>>>

実は、最初間違ってput 'Hello, World'とかやったんですが、irbのようにNoMethodErrorが出るのではなくて、.NET CLRのSystem.MissingMethodExceptionと共に大量のスタックトレースが吐き出されました(^^;

せっかくなのでWindowsFormを操作してみます。
(荒井省三さんのblogを参考に試してみました。)

>>> require 'System.Windows.Forms'
=> true
>>> f = System::Windows::Forms::Form.new()
=> #<Form:0000002c>
>>> f.ShowDialog()
=> #<DialogResult:0000002d>
>>>

ボタンを配置して、イベントを発生させてみましょう。

IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.832
Copyright (c) Microsoft Corporation. All rights reserved.
>>> require 'System.Windows.Forms'
=> true
>>> require 'System.Drawing'
=> true
>>> f = System::Windows::Forms::Form.new()
=> #<Form:0000002b>
>>> b = System::Windows::Forms::Button.new()
=> #<Button:0000002c>
>>> b.Location = System::Drawing::Point.new(50,100)
=> nil
>>> b.Text = '日本語'
=> nil
>>> # ref. http://www.hanselman.com/blog/WPFSampleInIronRubyTalkingViaCToWesabe.aspx
=> nil
>>> b.click do|sender, args|
... System::Windows::Forms::MessageBox.Show(sender.Text)
... end
=> nil
>>> f.Controls.Add b
=> nil
>>> f.ShowDialog
=> #<DialogResult:0000002d>
>>>

もちろん上記コードをソースファイルにして読み込ませることもできます。
っつーか出来なかったら終わってますが(^^;

require 'System.Windows.Forms'
require 'System.Drawing'

f = System::Windows::Forms::Form.new()
b = System::Windows::Forms::Button.new()
b.Location = System::Drawing::Point.new(50,100)
b.Text = '日本語'
b.click do|sender, args|
   System::Windows::Forms::MessageBox.Show(sender.Text)
end
f.Controls.Add b
f.ShowDialog
D:\IronRuby-Pre-Alpha1\Bin\Release>rbx test.rb

ちなみにコード中、律儀にSystem::Windows::Forms::MessageBox.Showとかやっていますが、別に几帳面なのではなくこうしないとエラーになるから仕方なくやっているだけです(^^;
まぁ、まだプレアルファ版ということでこの辺の面倒くさいあたりが改善されていくことを祈るばかりですね。

トラックバック

このエントリーのトラックバックURL:
http://hsj.jp/blog/mt-tb.cgi/1888

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年07月25日 17:37に投稿されたエントリーのページです。

ひとつ前の投稿は「GoogleMapsEditor Ver.1.06 公開 - GoogleMapsAPIを利用した地図コンテンツをプログラムなしで作成できる編集ソフト」です。

次の投稿は「IronRuby PreAlpha 1でWebブラウザを作ってみたが…。」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type