文字列
なでしこの文字列は展開ありと展開なしの2種類があり、
展開ありの文字列では文字列の中に変数を埋め込むことができます。
また配列変数としてアクセスすることにより、文字列の特定の行を
簡単に抜き出すことができます。
文字列の指定
文字列を表すには、以下の4つの記号が使えます。
「あいうえおかきくけこ」#展開あり
『あいうえおかきくけこ』#展開なし
"あいうえおかきくけこ" #展開あり
`あいうえおかきくけこ` #展開なし
展開について
文字列中で、「{変数}」のように、{}の中に式を書くと、{}の中が評価され展開されます。
名前は「くじら」
「私は、{名前}です。」と言う。
# ↑「私は、くじらです。」という結果を返す
※ひまわり1では、『¥』の記号をシーケンスとして展開していたが、パスの区切りなど面倒なことが多かったので、展開できるのは、{}だけとしました。
改行などの特殊記号は、以下のように表す
記号 意味
{改行} 改行
{タブ} タブ
{〜} 改行
{>} タブ
{_} スペース
{カッコ} 「
{カッコ閉じ}」
{波カッコ}{
{波カッコ閉じ}}
{¥n} 改行
{¥t} タブ
{¥s} スペース
{¥0} ヌル文字 = chr(0)
{¥(数値) (数値) (数値) ...} アスキーコードの直接埋め込み
{¥(文字)}(文字) 文字の表示
アスキーコードの埋め込みについて
「あ{改行}{タブ}あ」は、「あ{\13,10,9}あ」や、「あ{\n\t}あ」や、「あ{〜>}あ」書いても同じ意味です。
また、アスキーコードを16進表記したい場合は、「あ{\$D,$A}あ」と、$をつけます。
それから、漢字コードを直接指定することもできます。先ほどのコードも「あ{\$0D0A}あ」と書くこともできますが、 MaxInt? を超える数値を指定するとオーバーフローします。
文字列中で「」や{}を表示する方法
「...」文字列は展開があります。
しかし、「...」内で、「」の記号を表示したい場合もあります。
その方法は、以下のように{カッコ}、{カッコ閉じ}と書きます。
「子曰はく{カッコ}「学びて時に之を習ふ…{カッコ閉じ}」と表示。
また、波カッコ{...}を表示したい時も、{波カッコ}、{波カッコ閉じ}と
書きます。
「{波カッコ}abcd{波カッコ閉じ}」と表示。# 表示結果→{abcd}
ほかに、波カッコは、{¥(文字)}の機能を使って以下のように書くことも
できます。
「{\{}abcd{\}}」と表示。# 表示結果→{abcd}
配列としてアクセス
文字列を配列としてアクセスすることにより、文字列の任意の行を
抜き出すことができます。
あは「あああああ
いいいいい
ううううう」
あ[2]を言う。 # 「ううううう」が表示される
配列は0からはじまりますので、上のプログラムで、あ[2]と書くと
文字列の3行目を取り出します。