ActionScriptで長めの複数行文字列をさくっと作る
ActionScriptで長めの複数行文字列を作るのってメンドウですよね。Rubyみたいにヒアドキュメントとか使えればいいのにー。という時にXMLリテラルが使えます!
// XMLリテラルをヒアドキュメント風に使う! XML.ignoreWhitespace = false;// デフォルトだとテキストノードの先頭と最後の空白文字が削除されるので設定を変更しておく stdout.text += <str> aaa bbb ccc </str>.toString();
- XMLリテラルで作成したXMLをtoString()で文字列化。これで不要なタグが削除されたXMLの文字列表現がGetできるので、そのテキストノードとして複数行文字列を埋め込んでやれば、ヒアドキュメント風に文字列を生成できます。
- なお、デフォルトだとテキストノードの先頭と最後の空白文字が削除されてしまうので、「XML.ignoreWhitespace」をfalseに設定しておきます。
- static変数なので、使い終わったら戻しておく方が賢明かと。
さらに「{}」を利用すれば、文字列中への値の埋め込みもできます!
// 「{}」を利用して文字列への値の埋め込みもできる。 var mii:Object = { name:"mii", age:1 }; stdout.text += <str> name : {mii.name} age : {mii.age} </str>.toString();
若干性能が気になるところだけど、どうなんだろう。 > 今度調べる。