1文の区切り
「改行」が1文の区切りになります。よくあるセミコロン(;)ではないので注意です。
文字列
シングルコーテーションで囲う
特殊文字(\n,\r、\t等)を、ただの文字列として扱うことができる。
ダブルコーテーションで囲う
特殊文字(\n,\r、\t等)や式展開も、特殊文字列として扱うことができる。
式展開
例えば、nameという変数があった場合に「"私の名前は#{name}です。"」とすると文字列の中に変数を埋め込むことができる機能です。ダブルコーテーションで囲った場合しか動作しないので注意しましょう。
実行結果比較
1 2 3 4 5 |
str = 'Hello \nWorld' puts str str = "Hello \nWorld" puts str |
実行結果
「シングルコーテーション」と、「ダブルコーテーション」の使い分け
基本的には、「ダブルコーテーション」を使う必要がない場合は、「シングルコーテーション」を使うとしている現場が多いです。
文字列の出力
文字列の出力には、下記の3つのメソッドがあります。
- puts
- p
puts
改行を加えて、文字列を出力する。評価結果としてnilを返します。
改行を加えずに、文字列を出力する。評価結果としてnilを返します。
p
デバッグ用に使うメソッドです。オブジェクトそのものを返しオブジェクトの内容を見やすいように整形してくれるメソッドです。改行を加えてさらにシングルコーテーションで囲んで文字列を出力します。
pp
これもpメソッドと同じようにデバッグ用のメソッドです。pメソッドの出力が見辛い場合はこちらを使いましょう。
エスケープするには
シングルコーテーションやダブルコーテーションをエスケープしたい場合は、「%q!」もしくは「%Q!」、「%!」で文字列を囲います。
1 2 3 4 5 6 |
#「%q!」:シングルクオートで囲ったことと同じになる。 puts %q!"テストですよ2",'! #「%Q!」、「%!」:ダブルクオートで囲ったことと同じになる。 puts %Q!"テストですよ3",'! puts %!"テストですよ",'! |
文字の連結
+演算子を使った方法
1 |
"文字を" + "連結させる" |
連結させた文字列を保持したい場合(自己代入を使う)
一旦変数に格納した上でその変数に対して自己代入を行います。左の式から評価されるので変数に値を代入していないとエラーになります。
1 |
str += "連結する。" |
末尾に追記する方法
1 |
"文字の" << "末尾に追加する。" |
文字を繰り返す
文字を指定した回数分繰り返すことができます。実務ではあまり使用頻度は高くないですがテストとかで決まった文字数の文字を作りたい場合等には重宝したりします。
1 |
'文字' * 10(繰り返し回数) |
インデント(字下げ)
Rubyプログラムで、インデント(字下げ)する場合は、タブを使わずにスペース2つでインデントする決まりとなっていることが多いです。
この記事へのコメントはありません。