PHP/Elixirエンジニアのブログ

有益なアウトプットを心がけます。

【Ruby】Rubyの基礎文法2

メソッド

オブジェクトは、メソッドと呼ばれる処理によって自身の形を変えたりすることができます。
Rubyでは、文字列が利用できるメソッドと、数値が利用できるメソッドが定義されています。

☆lengthメソッド

length(レングス)メソッドは文字列が利用できるメソッドで、文字列の文字の数を数えてくれます。
メソッドを利用するには、以下のようにオブジェクトに対してメソッド名(length)を.(ドット)で繋ぎます。

"Hello World".length
=>11
☆lengthメソッド

length(レングス)メソッドは文字列が利用できるメソッドで、文字列の文字の数を数えてくれます。
メソッドを利用するには、以下のようにオブジェクトに対してメソッド名(length)を.(ドット)で繋ぎます。

"Hello World".length
=>11

上の例で=>の後に表示されているのは、「Hello World」の文字数11です。
ここはとても重要なことなのですが、この結果を説明する時、
lengthメソッドは返り値として数値オブジェクトの11を返したという表現をします。

☆文字列と数値を連結してみる

文字列"i am ", 数値28, 文字列" years old."
この3つのオブジェクトを連結して出力します。
しかし単純に+を使って以下のように実行しても、エラーが出てしまいます。。

puts "i am " + 28 + " years old."   #error
  TypeError: no implicit conversion of Fixnum into String

文字列と数値は別のオブジェクトなので、
連結することができないためです。
そこで、to_sメソッドを利用して数値である20を文字列に変換しましょう。

puts "i am " + 28.to_s + " years old."
  i am 28 years old.             
  =>nil