LoginSignup
7
7

More than 5 years have passed since last update.

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

Last updated at Posted at 2012-12-26

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

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7