文字列に関する機能

便利な文字列の展開機能

なでしこでは、文字列の中に「xxx{変数や計算式}xxxx」のように書くと、{..}の間に書いた内容を評価して文字列の中に展開します。これはとても便利な機能です。

例えば、何かしらの計算結果を、画面に表示するのに、文字列の展開を使わないで書くと次のようになります。

名前=「アキラ」
体重=60
身長=170
名前&「さんの体重は」&体重&「kgで身長は」&身長&「cmです。」と言う。

これを、文字列の中に埋め込む形で書くと次のようになります。

名前=「アキラ」
体重=60
身長=170
「{名前}さんの体重は{体重}kgで身長は{身長}cmです。」と言う。
プログラムの実行結果
プログラムの実行結果

前者と比べて後者は、ずいぶん見やすくなりました。

展開ありと展開なしの文字列

なでしこの文字列は展開ありと展開なしの2種類があり、展開ありと展開なしについて2種類ずつの指定方法が用意されています。

「あいうえおかきくけこ」#展開あり文字列
"あいうえおかきくけこ" #展開あり文字列
『あいうえおかきくけこ』#展開なし文字列
`あいうえおかきくけこ` #展開なし文字列

展開ありの文字列で使える特殊文字列

展開ありの文字列では、特殊文字を入力するのが不便になるため、次のような特殊文字列が用意されています。

記号 意味
{改行} 改行
{タブ} タブ
{~} 改行
{>} タブ
{[}
{]}
{¥n} 改行
{¥t} タブ
{¥s} スペース
{¥0} ヌル文字 = chr(0)
{¥(数値) (数値) (数値) ...} アスキーコードの直接埋め込み
{¥(文字)} (文字) 文字の表示

特に、展開あり文字列の中で入力が面倒なのは、カギカッコ自身であったり、展開記号です。そこで、カギカッコ自身を表示するには、{[} と、展開記号の中に「[」を記述します。そして、展開記号は、展開記号の中に「{\{]」円マーク付きで記号を記述します。

身長=160
「{身長}」を表示。
「{\{}身長{\}}」を表示。
「{[}身長{]}」を表示。
tenkai.png