JavaScript
Haxe

Haxeはヒアドキュメント的な書き方を素でサポートしてた。

More than 5 years have passed since last update.

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)も計算してくれてます。