libの新機能

これらの機能も0.9.7.0から入っています。

libは正式に「クラスの一種である」ということにしましたので、libを他のクラスにmix-inすることが出来るようになりました。

lib::foo: 100;

filelocal.inherit(lib);

//定義されていない変数はfilelocalから探される。
//filelocalはlibをmix-inしているので、そこからも探される
foo.p; //=> 100

ただ、libをmix-inするのはあまり推奨はしません。


またグローバルなlibとは別の、新しいlibを自由に生成できるようになりました。

mylib: Lib();

// 検索パスにC:を追加
// 定義されていないメンバは、Cドライブ直下の .xtalを検索するようになる
mylib.append_load_path("C:");

mylib::Test; // C:\Test.xtal をロードし、exportされた値を返す