JavaScriptはヒアドキュメントが使えないので、複数行にわたるhtmlを書きこむのってわりと億劫なんですよ。
でも、そんなこともHaxeが解決してくれました。
Main.hx
class Main{
static function main() {
var html =
"<pre>
複数行の
文字列だよ!
</pre>";
}
}
何にも難しいことは無くて、普通の文字列が複数行に対応しています。
そして、これをJavaScriptにコンパイルすると…
Main.js
var Main = function() { }
Main.main = function() {
var html = "<pre>\r\n複数行の\r\n文字列だよ!\r\n</pre>";
}
Main.main();
しっかりと改行文字が挿入されています。
さらに変数も使えます。ダブルクオテーション(")ではなく、シングルクオテーション(')を使ってみましょう。
(※Haxe2以前では、String.Formatをつかって変数展開します)
Main.hx
class Main{
static var str:String = "変数だよ";
static function main() {
var i:Int = 39;
var html =
'<pre>
str = $str
i = $i
i * (1 + 2) = ${i * (1 + 2)}
</pre>';
}
}
$変数名、または${数式}みたいな書き方が可能になります。
そして、これをJavaScriptにコンパイルすると…
Main.js
...
var html = "<pre>\r\nstr = " + Main.str + "\r\ni = " + i + "\r\ni * (1 + 2) = " + i * 3 + "\r\n</pre>";
...
もう完璧ですね。ちゃっかり(1+2)も計算してくれてます。