Ruby の二項左シフト演算子

Stewart Nguyen 2023年6月21日
  1. Ruby の二項左シフト演算子 (<<)
  2. Ruby の配列で << 演算子を使用する
  3. << 演算子を使用して Ruby でクラス メソッドを定義する
  4. ヒアドキュメント<< 演算子を使用する
Ruby の二項左シフト演算子

この記事では、Ruby の << とは何か、どこで使用されているのかを簡単に紹介します。

Ruby の二項左シフト演算子 (<<)

<< 演算子は文字列のメソッドです。 2つの文字列を連結し、元の文字列を直接変更します。

コード例:

my_string = 'Hello.'
my_string << ' Nice to meet you!'
puts my_string

出力:

Hello. Nice to meet you!

Ruby の配列で << 演算子を使用する

メソッド << は配列で使用できます。 元の配列の最後にオブジェクトを直接追加します。

コード例:

my_array = [1,2,3]
my_array << 5
puts my_array

出力:

[1, 2, 3, 5]

このメソッドは Array#push メソッドに似ています。 別の配列やハッシュなど、任意の引数を受け入れることができることに注意してください。

コード例:

my_array << { a: 1 }
my_array << [6,7,8]
puts my_array

出力:

[1, 2, 3, 5, {:a=>1}, [6, 7, 8]]

<< 演算子を使用して Ruby でクラス メソッドを定義する

<< のもう 1つの一般的な使用法は、Ruby クラスを作成するときにクラス メソッドを定義することです。

コード例:

class MyClass
  class << self
    def class_method
      'inside class method'
    end
  end
end

MyClass.class_method

出力:

"inside class method"

ヒアドキュメント<< 演算子を使用する

ヒアドキュメントを使用すると、大きなテキスト ブロックを記述できます。 構文は << で始まり、ドキュメントの名前と内容で続き、別の行のドキュメントの名前で終わります。

例:

<<MY_DOC
Lorem Ipsum
Donec sollicitudin molestie malesuada.
Proin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.
MY_DOC

出力:

"Lorem Ipsum\nDonec sollicitudin molestie malesuada.\nProin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.\n"

関連記事 - Ruby Operator