importの構文
importを使わない書き方
Main.hx
class Main {
static function main() {
neko.Lib.println( "hello world" );
}
}
importを使った書き方
Main.hx
import neko.Lib;
class Main {
static function main() {
Lib.println( "hello world" );
}
}
関数をインポート
Main.hx
import neko.Lib.println;
class Main {
static function main() {
println( "hello world" );
}
}
ワイルドカードでまとめてインポート
Main.hx
import neko.*;
class Main {
static function main() {
Lib.println( "hello world" );
}
}
Main.hx
import neko.Lib.*;
class Main {
static function main() {
print( "hello" );
println( " world" );
}
}
別名でインポート
Main.hx
import neko.Lib in NekoLib;
class Main {
static function main() {
NekoLib.println( "hello world" );
}
}
関数をimportできるのとか、別名でimportできるのとかわりと見落としがち
実用
Haxe/JavaScript
Haxe/JSを書いてると、いちいち Browser.document
とか、Browser.window
とか書くのがめんどくさいので、以下のようなインポート文を記述しておくと便利です。
Main.hx
import js.Browser.*;
import js.Lib.*;
class Main {
static function main() {
alert( "hoge" ); // Lib.alert
document.getElementById( "nav" ); // Browser.document
location.hash; // Browser.location
}
}
これで、素のJavaScriptを書くのと同じような感覚でdocumentやwindowにアクセスできるようになります。
参考
http://haxe.org/manual/modules
https://github.com/HaxeFoundation/HaxeManual/blob/master/md/manual/type-system-import.md