文字列とその展開について


文字列の代入

一般的な代入

文字列の代入は、
変数=「文字列」
または、
変数は、「文字列」
のように行います。

文字列の連結

文字列同士の連結には、&を使います。
変数=「文字列」「文字列」

行をまたぐとき

ひまわりでは、命令を複数行に分けることは出来ませんが、文字列の中だけは例外的に、複数行に記述できます。
変数文字列1行目
文字列2行目
文字列3行目
または、文字列の行末につけて、次の行に繋げます。
変数文字列1
文字列2」&
文字列3
*ただし、上の場合は、改行記号を含まないので、「文字列1文字列2文字列3」のように、つながってしまいます。
改行させたい場合は、
変数文字列1¥n
文字列2¥n
文字列3
のように、改行記号を含めます。

文字列の展開

文字列中で、変数や特殊記号を展開することが出来ます。

変数を展開する場合は、{変数}のように、変数を{}で括ってください。
りんごの数は、3{個}。
「りんごは、{りんごの数}です。」と、表示。

もし、文字列の中で、いかなる展開も行いたくない場合は、『』います。
プログラム 結果 備考
りんごの数は、3{個}。
りんごは、{りんごの数}個です。と、表示。
りんごは、3個です。 変数が展開される
りんごの数は、3{個}。
りんごは、{りんごの数}個です。と、表示。
りんごは、{りんごの数}個です。 何も展開されない

シーケンス文字の話

シーケンス文字
¥n

ひまわりの文字列で便利な機能があります。それは、一行の中で、2行分を表現できることです。
以下のプログラムと、その結果を見てください。
プログラム 結果
「りんご¥nばなな」と、表示。 りんご
ばなな
「あ¥n¥nう」と、表示。


感の良い方は、分かると思いますが、「¥n」が、改行の意味を表しています。
これが使えると、かなり便利です。
¥t

他にも、タブ記号を表すシーケンス文字「¥t」があります。
タブ文字の「¥t」と書くと、半角8文字で、文字を揃えて表示できます。
プログラム 結果
「りんご¥t400円」と、表示。
「なし¥t300円」と、表示。
りんご  400円
なし 300円
「日時¥t場所¥t釣れた魚の数」と、表示。
「10/10¥t三ツ池¥t3匹」と、表示。
「10/24¥t梅田川¥t0匹」と、表示。
「11/3¥t豊川¥t12匹」と、表示。
日時   場所   釣れた魚の数
10/10 三ツ池 3匹
10/24 梅田川 0匹
11/3 豊川 12匹
これも知っていると、ちょっと便利です。

困った問題

解決方法1 ひらすら、¥ をつける。

変数の展開や、シーケンス文字の展開が便利だと分かっていただけたことと思います。
しかし、ここで、困った問題が出てきます。

文字列の中で、{ }と、表示したいときは、どうすればいいのでしょう?
普通に書くと、変数の展開をしてしまいます。

こんなときは、シーケンス文字の、を、の前につけて、¥{ と、書きます。
プログラム 結果
りんごは、3
「{りんご}」と、表示。
りんごは、3
「¥{りんご¥}」と、表示。
{りんご}
*同様に、¥を、表示したい場合も、\\と、書きます。

ところが、頻繁に{、}、¥が出てくる文字列を記述したいときはどうでしょう。
全ての文字に、¥をつけていたのでは、面倒くさくて、死にそうです。

■解決方法2 「」の代わりに、『』で括る

そんなときには、変数やシーケンス文字の展開を行わない『』を使います。

例えば、Windowsのファイルの位置を絶対指定したいときなどは、
c:\Program Files\Microsoft\Word\test.doc
のように、ひたすら、¥が出現します。

これを、「」で書くと、
ファイルの場所は、「c:\\Program Files\\Microsoft\\Word\\test.doc」
なのですが、『』を用いて書くと、
ファイルの場所は、『c:\Program Files\Microsoft\Word\test.doc』
で、済みます。

シーケンス文字と同様に、『』を使えば、変数の展開もなされません!
問題解決です!

■文字列記号を指定できる文字列

@@★...★ や @@|...| や @@#...# のように、@@記号と書くことで、好きな文字列記号で文字列を表すことができます。
@@★こんにちは★と、表示。
@@@こんにちは@と、表示。
@@#こんにちは#と、表示。

普段あまり使わない記号の、『λ(らむだ)』などを文字列記号にすれば、ほとんどの文字列を被らないで表せると思います。
ただし、この文字列は、展開ありの文字列なので、シーケンス記号も展開されますし、{変数}での変数展開も行われます。
値段は、400
@@λ値段は、{値段}円です!λと、表示。

HTMLの自動生成プログラムを打ち込んでいるときなど、「<A href=\"{変数}\">{変数}</A>」と¥"と書くのが面倒なので、@@@<A href="{変数}">{変数}</A>@と手軽に表せるようになります。

備考:

「文字列」と、"文字列"は、同じ意味になります。
『文字列』と、`文字列`は、同じ意味になります。

これは、ひまわりを実行する前に、特殊な置換処理をしていることによります。
ひまわりでは、記号やアルファベットについては、全角、半角文字を同じ物として認識します。
その、変換の際に、「」を、" に、『』を、` に変換しているからです。

そのため、「もじれつ」を、「もじれつ「と、書いてもエラーにはなりません。
(いや、だからと言って、こんな変なかぎカッコを使うのはやめてください。)
展開なしの『文字列』で、記号`を使いたい時は、『あ``あ』のように、`を重ねると、展開されて、あ`あ、と使うことができます。

戻る