JavaScriptをRubyっぽくしてみるテスト

RubyのようなJavaScriptをブラウザ上で実行したい

Rubyを勉強していますと、文法がC系のJavaScriptとは一味違って面白いです。
とはいえ、Rubyの機能をJavaScriptでも使えたらいいなと考えていました。
そんな折、開発中のSIEの記述を軽量化するためには、新しいJavaScriptの書き方が必要だと思い、今回、JavaScriptRubyっぽくしてみようと試みました。もちろん、ほとんどのブラウザで動くことが前提です。

サンプル

module("HogeModule", function(){
        function SuperClass() {
          
          /* インスタンス変数widthとheightのゲッターとセッターを設定 */
          attr_accessor("width", "height");
          
          /* メソッドの定義 */
          function initialize(w, h) {
            width = w;
            height = h;
          };
          
          function w() {
            return width+3;
          };

          function h() {
            return height+3;
          };
        };
        
        /* SubClassクラスはSuperClassを継承 */
        SuperClass > function SubClass() {
          /* wメソッドのオーバライド */
          function w() {
            return _super() + h();
          };
        };
 });

module( function() {
        include(HogeModule);
        var obj = SubClass._new(12, 15);
        obj.w();
        obj.h();
});

特長

  1. クラスの継承
  2. モジュールとクラスのMix-inに近い機能
  3. グローバル変数を定義する必要がない
  4. シンプルな記述

これからの予定

まだ、開発途中ですので、デモなどは用意していません。SIEに採用されるかどうかも、今後の開発しだいです。
まだまだ、確認していないブラウザがあります。とりあえず、Opera12.142で動作したので、この記事でご報告します。