なでしこでは、文字列の中に「xxx{変数や計算式}xxxx」のように書くと、{..}の間に書いた内容を評価して文字列の中に展開します。これはとても便利な機能です。
例えば、何かしらの計算結果を、画面に表示するのに、文字列の展開を使わないで書くと次のようになります。
名前=「アキラ」 体重=60 身長=170 名前&「さんの体重は」&体重&「kgで身長は」&身長&「cmです。」と言う。
これを、文字列の中に埋め込む形で書くと次のようになります。
名前=「アキラ」 体重=60 身長=170 「{名前}さんの体重は{体重}kgで身長は{身長}cmです。」と言う。
前者と比べて後者は、ずいぶん見やすくなりました。
なでしこの文字列は展開ありと展開なしの2種類があり、展開ありと展開なしについて2種類ずつの指定方法が用意されています。
「あいうえおかきくけこ」#展開あり文字列 "あいうえおかきくけこ" #展開あり文字列 『あいうえおかきくけこ』#展開なし文字列 `あいうえおかきくけこ` #展開なし文字列
展開ありの文字列では、特殊文字を入力するのが不便になるため、次のような特殊文字列が用意されています。
記号 | 意味 |
{改行} | 改行 |
{タブ} | タブ |
{~} | 改行 |
{>} | タブ |
{[} | 「 |
{]} | 」 |
{¥n} | 改行 |
{¥t} | タブ |
{¥s} | スペース |
{¥0} | ヌル文字 = chr(0) |
{¥(数値) (数値) (数値) ...} | アスキーコードの直接埋め込み |
{¥(文字)} | (文字) 文字の表示 |
特に、展開あり文字列の中で入力が面倒なのは、カギカッコ自身であったり、展開記号です。そこで、カギカッコ自身を表示するには、{[} と、展開記号の中に「[」を記述します。そして、展開記号は、展開記号の中に「{\{]」円マーク付きで記号を記述します。
身長=160 「{身長}」を表示。 「{\{}身長{\}}」を表示。 「{[}身長{]}」を表示。