RubyJSはRuby 1.9.3のcorelibをJavaScriptに置き換えたライブラリです。
RubyやPythonのようにJavaScriptを書けたら良いのに…というところから生まれたのがCoffeeScriptですが、今回はRuby 1.9.3のcorelibをJavaScriptに取り込んだRubyJSを紹介します。
R()で囲むとRubyJS用のオブジェクトが返ります。
こんな感じで使います。最後にto_nativeを実行すると文字や数字が返ってきます。
配列を扱うこともできます。
each_with_indexなどRubyならではのメソッドもあります。
RubyJSを使うとJavaScriptの中でRubyのようにProcを使ったり、チェーンでつないだり、Enumeratorが利用できます。Gzipして20KBとそれほど大きくないので使い勝手が良いのではないでしょうか。
RubyJSはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。(ライセンス修正)
MOONGIFTはこう見る
JavaScriptが嫌いと思う人たちによって様々な解決手段が生み出されてきました。一つはCoffeeScriptやTypeScriptなどで、コンパイルによってJavaScriptを生成する独自言語です。もう一つは別な言語をJavaScriptのVMによって動かしてしまうものです。
後者は速度的な問題がありましたが、RubyJSのようにRubyのように書けるライブラリというのは中間に当たる回答に思えます。いわばjQueryのように扱えるでしょう。jQueryとCoffeeScriptがデファクトになりつつありますが、きっと他にも良い解決策があるはずです。
MOONGIFTの関連記事