ActionScript 3.0で__FILE__を再現する(ネタ)
Errorオブジェクトのスタックトレースを分解してgetterを使ったらそれっぽくできました。
Perlのconstants的な発想ですね。
__FILE__.as
package { /** * Emulate __FILE__ * * requires DebugFlashPlayer */ public function get __FILE__() :String { var line:String = new Error().getStackTrace().split("\n")[2]; return (line.match(/\[([^\]]+):\d+\]/))[1]; } }
使い方
trace(__FILE__);
デバッグ版FlashPlayerが必要なので開発中にしか使わないと思いますが、
開発中ならgetStackTrace()の結果をそのまま出した方が便利だと思います。