セレクターネームスペース

Xtalセレクターネームスペースっぽい機能を有します。セレクターネームスペースを採用している言語としては、例えばECMAScript4があります。


Xtalではセレクターネームスペースというより、識別子となんらかのオブジェクト、二つのキーでメソッドを登録する、というような感じです。


簡単に例を示します。

 // test_namespaceという変数に文字列hogeを代入
 test_namespace : "hoge";

 // Fooクラスを定義
 Foo : class{
   // barメソッドを定義
   bar : method(){
     println("bar");
   }
   
   // test_namespaceネームスペースのbarメソッドを定義
   bar$test_namespace : method(){
     println("bar$hoge");
   }
 }

 f : Foo(); // Fooクラスのインスタンス生成
 f.bar(); // bar と出力
 f.bar$test_namespace(); // bar$hoge と出力


デフォルトのネームスペースほ定義する機能はまだ構文的に迷ってるので未実装です。