irb を使いながら、Ruby の String オブジェクトについて解説していきます。
String オブジェクトとは?
文字列を扱うオブジェクトのことです。
シングル or ダブルクォーテーションで囲うと String オブジェクトになります。
class メソッドで確認してみましょう。
$ irb
irb(main):001:0> "文字列".class
=> String
String オブジェクトの機能
よく使う String オブジェクトのメソッドを紹介します。
upcase メソッドで大文字化
irb(main):002:0> 'String'.upcase
=> "STRING"
downcase メソッドで小文字化
irb(main):007:0> 'String'.downcase
=> "string"
文字の切り出し
slice メソッドを使うと指定した文字列分を切り出せます。
下の例では 0 文字目から 2 (3 の一つ手前) まで切り出しています。
irb(main):006:0> 'String'.slice(0, 3)
=> "Str"
サイズの確認
irb(main):014:0> 'String'.size
=> 6
オブジェクトタイプの変換
interger への変換
to_i というメソッドを使用します。
irb(main):018:0> '10000'.class
=> String
irb(main):019:0> '10000'.to_i.class
=> Integer
float への変換
to_f というメソッドを使用します。
irb(main):020:0> '1.1'.class
=> String
irb(main):021:0> '1.1'.to_f.class
=> Float
String オブジェクトの操作
文字の連結
irb(main):027:0> 'Str' + 'ing'
=> "String"
文字を末尾に連結
irb(main):030:0> 'String' << '!'
=> "String!"
変数を使うと連続して連結することも出来ます。
irb(main):038:0> str = 'String'
=> "String"
irb(main):039:0> str << '!'
=> "String!"
irb(main):040:0> str << '!'
=> "String!!"
自己代入
irb(main):042:0> str = 'String'
=> "String"
irb(main):043:0> str += '!'
=> "String!"
文字列内で変数を展開
ダブルクォーテーション内で囲った文字列の中で #{変数} という式を埋め込むと
変数を文字列の中で展開することができます。
irb(main):047:0> name = 'Masuyama'
=> "Masuyama"
irb(main):048:0> "私の名前は #{name} です"
=> "私の名前は Masuyama です"
ちなみに変数の展開だけではなく、式を埋め込んで展開することもできます。
irb(main):052:0> "1 + 1 = #{1+1}"
=> "1 + 1 = 2"