Part4:文字列

マル「それじゃ、今回は文字列の話をするな」

マル「'ruby'とか"maru"みたいなのが文字列ずら。シングルクォートで括る場合とダブルクォートで括る場合があるけど、ちょっと動きが違うんだな」
ルビィ「動きって・・・文字列なのに?」
マル「Rubyの文字列は頭がいいんだな。バックスラッシュ記法っていうのがあって、そこで違いが出るずら」

Oh yes,
Doki-Doki Sunshine!!
Oh yes,\nDoki-Doki Sunshine!!

マル「\nっていうのは改行を表すバックスラッシュ記法だけど、ダブルクォートだと改行されててシングルクォートだと改行されてないのが分かるな?」
ヨハネ「なるほど、シングルクォートは特殊文字を解釈せずに書いた文字がそのまま扱われるわけね」
マル「そんな感じずら。Rubyで使えるバックスラッシュ記法をまとめておくな」

文字 意味
\b バックスペース
\f 改ページ
\n 改行
\r 復帰
\t タブ
\a ベル
\s 空白
\e エスケープ

マル「あとは、シングルクォートで囲った文字列の中ではシングルクォートは使えないな。'μ's'みたいなのはだめずら」
ルビィ「そっか、そういう場合はダブルクォートで・・・あれ?バックスラッシュ記法使いたくない場合は?」
マル「そこはちゃんと、別の囲い方が用意されてるんだな」

マル「%Qはダブルクォート、%qはシングルクォートで囲ったのと同じ意味ずら。これだと、文字列中にシングルクォートやダブルクォートがあっても平気なんだ」

マル「ヒアドキュメントっていって、複数行の文字列も書けるずら」

君のこころは輝いてるかい?
胸に聞いたら"Yes!!"と答えるさ
この出会いがみんなを変えるかな
今日も太陽は照らしてる 僕らの夢

マル「<<"EOS"って書くと、次にEOSが出てくるまでを1つの文字列と見なすんだ。このEOSは実は何でもいいんだけど、End of StringでEOSがよく使われるな」
ルビィ「長い文章を出力する場合は便利そうだね」

マル「文字列の中に式を埋め込んだりもできるんだ。できること盛りだくさんだな」

浦の星女学院1年、津島善子です。

ヨハネ「み、認められないわ・・・」
マル「ヨハネちゃんはほっといて、これは文字列の中に変数の値を埋め込む例ずら」
ルビィ「簡単なテンプレート機能みたいな感じかな」

マル「文字列の連結は+でできるずら」

ヨハネ「・・・カプ厨が湧いてきたわね」
マル「何のことだかわからないずら」
ルビィ「マルちゃんなら、ありかな・・・」
マル「これは非破壊操作、元の文字列は変更せずに連結後の文字列を返してるんだ。だから」

ちか
りこ
ちかりこ

マル「変数の中身が書き換わるわけじゃないんだな。ところが」

ちかりこ
りこ

マル「こうやって、片方の文字列にもう片方を追加するつなげ方もできるずら」
ヨハネ「これだとlhsは書き換わるわけね。あとは使いどころってところかしら」

マル「文字列はこのくらい覚えておけば当面は何とかなると思うずら。文字列って実際はStringオブジェクトだから、できることはまだまだあるんだけど・・・」
ルビィ「きりがないもんね。じゃ次回はルビィが数値の話、頑張りますっ!」


LINEで送る
Pocket


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です