The Backyard - RubyDotNet Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
!Ruby.NET
QUTのRuby.NETはQUTからスピンオフして、New BSDライセンスのもとに公開開発体制にはいってます。
!![[Ruby.NET Project Home|http://code.google.com/p/rubydotnetcompiler/]]
!!!ゴール(翻訳)
""Ruby.NETのゴールは、Matzと仲間達が開発したRubyとの完全な文法互換性です。われわれは、Rubyを他の.NET言語と協調して. NETコンポーネントを開発する仲間に加えたいと望みます。さらに標準かサードパーティ製かを問わず、他の言語で開発された.NETプラットフォーム上のコンポーネントやリソースへのシームレスなアクセスの提供も考えています。また、Monoを含むCLI実装のサポートも計画しています。
""
""ランタイムライブラリの一部は、オリジナルRubyのCのソースをそのまま利用しています。われわれは、ソースコードをオープンソースコミュニティに対して開いたものとしたMatzと仲間達に、感謝します。われわれもそれにならって、新BSDライセンスのもとにわれわれのソースコードを開いたものとします。
!!!Ruby.NETについて
Visual Studio 2005をお持ちであれば(Express Editionでどうかは不明)ソリューションファイルが、あるいはMonoの開発体制にあればMakefileが、それぞれ付属した完全なソースコードがレポジトリから入手できます。
!!!!特殊なツール
QUTの(多分オープンソースではない)PE File Reader/Writerなどのツールが必要ですが、これらも配布物に含まれているため、上記の条件を満たしていれば開発へ参加できます。
!!!!Visual Studio 2005の要件
完全な開発を行うには、Visual Studio 2005 SDK v4.0以上のインストールが必要です。これは配布パッケージのビルドの過程でVisual Studio拡張をビルドするからです。したがって、Vistaで実行する場合には、Visual Studio 2005を管理者権限で実行する必要があります。
!!特徴
*現時点では比較的透明なクラス構造、整理されたパッケージ
*インタプリタ(rbファイルを動的にロードして実行)、コンパイラ(rbファイルからCLR用EXEファイルを生成)の両方を持つ
*Ruby 1.8.2 互換な文法
*言語エンジン、フロントエンド、Visual Studio組み込みウィザード、配布プロジェクト、など、Visual Studio 統合を意識したソリューションパッケージ
!!ダウンロード
[[安定版zipファイル|http://code.google.com/p/rubydotnetcompiler/downloads/list]]
ただし、Subversionが利用できるのであれば、
svn checkout http://rubydotnetcompiler.googlecode.com/svn/trunk/ rubydotnetcompiler
からチェックアウトするほうが良いでしょう。
!!ビルドの仕方
!!!Mono
ためしたことがないのでうまく動くかわかりませんが、Makefileがルートにあるので、それを見てください。
!!!Visual Studio 2005
srcディレクトリのRuby.NET.slnをVisual Studio 2005に読み込んでフルビルドしてください。もし、Visual Studio SDKがインストールされていないと、配布パッケージのビルドなどが成功しません。この場合、ソリューションの中から、RubyRuntime、 RubyCompiler、Rubyの各プロジェクトを個別ビルドすることで、Ruby.NETを生成して、直接作成されたRuby.NETを利用しても良いでしょう。
!!実行方法
配布パッケージも生成されますが、ヴァーチャルPC環境などのようにいざとなったら破壊できる環境でない限り、GACに対するインストールも行われるので、単に、binディレクトリにPATHを通したコンソールを利用するほうが良いと思います。
!!Railsについて
RailsをMonoで実行することをモチベーションにしているメンバーもいるように思う(MLすべてに目を通していないので漠然とした印象)ことと、ToDoリストにRailsのポーティングが乗っているので意識はしています。
!!IronRubyとの関係
現時点ではオリジナルのパーサの提供という関係だけではないかと思います。したがって、QUTのオリジナルRuby.NETから見て、直系の子供がRuby.NETで、IronRubyは異父弟なんじゃないかな。
!!現状(0.8.2+)
C:\rubydotnetcompiler>ruby
class String
def add(s)
self + s
end
end
s = 'aaa'.add 'bbb'
puts s
s.instance_eval("def x(s); s + self + '!';end")
puts s.x('hello')
^Z
Warning: String is a Ruby built-in class, interop class not generated
aaabbb
helloaaabbb!
インタープリタで上記のように、動作するスクリプトをa.rbに保存してコンパイルする。
C:\rubydotnetcompiler>rubycompiler a.rb
Warning: String is a Ruby built-in class, interop class not generated
C:\rubydotnetcompiler>cd bin
(GACに登録していない場合、カレントディレクトリに一式揃っている必要がある)
C:\rubydotnetcompiler\bin>copy ..\a.exe .
1 個のファイルをコピーしました。
C:\rubydotnetcompiler\bin>dir a.exe
ドライブ C のボリューム ラベルがありません。
...
C:\rubydotnetcompiler\bin のディレクトリ
2007/09/08 12:31 16,384 a.exe
1 個のファイル 16,384 バイト
...
C:\rubydotnetcompiler\bin>a
aaabbb
helloaaabbb!
!!協力のお願い
現時点での欠落(拡張ライブラリが存在しないことなど)とは別に、文法上の非互換や異常を発見された場合は、Issuesへの登録をお願いいたします。このとき、単純化した再現コードを付けていただけると助かります。
[[How to contribute to Ruby.NET|http://groups.google.com/group/RubyDOTNET/tree/browse_frm/thread/84224db32016989c/bdf7925bb88150db?rnum=21&hl=en&q=how+to+contribute&_done=%2Fgroup%2FRubyDOTNET%2Fbrowse_frm%2Fthread%2F84224db32016989c%2Fd628f06037c0b152%3Flnk%3Dgst%26q%3Dhow%2Bto%2Bcontribute%26rnum%3D1%26hl%3Den%26#doc_7e14ced35c2227e8]]
QUTのRuby.NETはQUTからスピンオフして、New BSDライセンスのもとに公開開発体制にはいってます。
!![[Ruby.NET Project Home|http://code.google.com/p/rubydotnetcompiler/]]
!!!ゴール(翻訳)
""Ruby.NETのゴールは、Matzと仲間達が開発したRubyとの完全な文法互換性です。われわれは、Rubyを他の.NET言語と協調して. NETコンポーネントを開発する仲間に加えたいと望みます。さらに標準かサードパーティ製かを問わず、他の言語で開発された.NETプラットフォーム上のコンポーネントやリソースへのシームレスなアクセスの提供も考えています。また、Monoを含むCLI実装のサポートも計画しています。
""
""ランタイムライブラリの一部は、オリジナルRubyのCのソースをそのまま利用しています。われわれは、ソースコードをオープンソースコミュニティに対して開いたものとしたMatzと仲間達に、感謝します。われわれもそれにならって、新BSDライセンスのもとにわれわれのソースコードを開いたものとします。
!!!Ruby.NETについて
Visual Studio 2005をお持ちであれば(Express Editionでどうかは不明)ソリューションファイルが、あるいはMonoの開発体制にあればMakefileが、それぞれ付属した完全なソースコードがレポジトリから入手できます。
!!!!特殊なツール
QUTの(多分オープンソースではない)PE File Reader/Writerなどのツールが必要ですが、これらも配布物に含まれているため、上記の条件を満たしていれば開発へ参加できます。
!!!!Visual Studio 2005の要件
完全な開発を行うには、Visual Studio 2005 SDK v4.0以上のインストールが必要です。これは配布パッケージのビルドの過程でVisual Studio拡張をビルドするからです。したがって、Vistaで実行する場合には、Visual Studio 2005を管理者権限で実行する必要があります。
!!特徴
*現時点では比較的透明なクラス構造、整理されたパッケージ
*インタプリタ(rbファイルを動的にロードして実行)、コンパイラ(rbファイルからCLR用EXEファイルを生成)の両方を持つ
*Ruby 1.8.2 互換な文法
*言語エンジン、フロントエンド、Visual Studio組み込みウィザード、配布プロジェクト、など、Visual Studio 統合を意識したソリューションパッケージ
!!ダウンロード
[[安定版zipファイル|http://code.google.com/p/rubydotnetcompiler/downloads/list]]
ただし、Subversionが利用できるのであれば、
svn checkout http://rubydotnetcompiler.googlecode.com/svn/trunk/ rubydotnetcompiler
からチェックアウトするほうが良いでしょう。
!!ビルドの仕方
!!!Mono
ためしたことがないのでうまく動くかわかりませんが、Makefileがルートにあるので、それを見てください。
!!!Visual Studio 2005
srcディレクトリのRuby.NET.slnをVisual Studio 2005に読み込んでフルビルドしてください。もし、Visual Studio SDKがインストールされていないと、配布パッケージのビルドなどが成功しません。この場合、ソリューションの中から、RubyRuntime、 RubyCompiler、Rubyの各プロジェクトを個別ビルドすることで、Ruby.NETを生成して、直接作成されたRuby.NETを利用しても良いでしょう。
!!実行方法
配布パッケージも生成されますが、ヴァーチャルPC環境などのようにいざとなったら破壊できる環境でない限り、GACに対するインストールも行われるので、単に、binディレクトリにPATHを通したコンソールを利用するほうが良いと思います。
!!Railsについて
RailsをMonoで実行することをモチベーションにしているメンバーもいるように思う(MLすべてに目を通していないので漠然とした印象)ことと、ToDoリストにRailsのポーティングが乗っているので意識はしています。
!!IronRubyとの関係
現時点ではオリジナルのパーサの提供という関係だけではないかと思います。したがって、QUTのオリジナルRuby.NETから見て、直系の子供がRuby.NETで、IronRubyは異父弟なんじゃないかな。
!!現状(0.8.2+)
C:\rubydotnetcompiler>ruby
class String
def add(s)
self + s
end
end
s = 'aaa'.add 'bbb'
puts s
s.instance_eval("def x(s); s + self + '!';end")
puts s.x('hello')
^Z
Warning: String is a Ruby built-in class, interop class not generated
aaabbb
helloaaabbb!
インタープリタで上記のように、動作するスクリプトをa.rbに保存してコンパイルする。
C:\rubydotnetcompiler>rubycompiler a.rb
Warning: String is a Ruby built-in class, interop class not generated
C:\rubydotnetcompiler>cd bin
(GACに登録していない場合、カレントディレクトリに一式揃っている必要がある)
C:\rubydotnetcompiler\bin>copy ..\a.exe .
1 個のファイルをコピーしました。
C:\rubydotnetcompiler\bin>dir a.exe
ドライブ C のボリューム ラベルがありません。
...
C:\rubydotnetcompiler\bin のディレクトリ
2007/09/08 12:31 16,384 a.exe
1 個のファイル 16,384 バイト
...
C:\rubydotnetcompiler\bin>a
aaabbb
helloaaabbb!
!!協力のお願い
現時点での欠落(拡張ライブラリが存在しないことなど)とは別に、文法上の非互換や異常を発見された場合は、Issuesへの登録をお願いいたします。このとき、単純化した再現コードを付けていただけると助かります。
[[How to contribute to Ruby.NET|http://groups.google.com/group/RubyDOTNET/tree/browse_frm/thread/84224db32016989c/bdf7925bb88150db?rnum=21&hl=en&q=how+to+contribute&_done=%2Fgroup%2FRubyDOTNET%2Fbrowse_frm%2Fthread%2F84224db32016989c%2Fd628f06037c0b152%3Flnk%3Dgst%26q%3Dhow%2Bto%2Bcontribute%26rnum%3D1%26hl%3Den%26#doc_7e14ced35c2227e8]]