書式化した文字列を作成する
xtalは0.9.3現在、文字列の機能が非常に弱いです。
主にゲーム用のスクリプトだからということで後回しにしていますが、これからなんとかしていきたいところの一つです。
そんなxtalで、既に実装されている便利な文字列の機能として、書式化した文字列を作成する機能があります。要はsprintfです。
Rubyの%記法のように、%f!文字列!という風に記述します。
format: %f!This %s a %s.!; // !の部分にはasciiの記号ならほとんどなんでも代用できます。 // (や[など、括弧の場合は対応する)や]で閉じます。 //format: %f"This %s a %s."; 上と同じ //format: %f(This %s a %s.); これも
formatは二つの引数を受け取り、書式化した文字列を返す関数となります。
format("is", "pen").p; // This is a pen.
Pythonのように、%(name)sという風に記述することで、名前付きにすることも出来ます。
format: %f[x=%(x)d, y=%(y)d]; format(y: 10, x: 20).p; // x=20, y=10