instance method Object#to_ary

to_ary -> Array[permalink][rdoc][edit]

オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。

説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 配列が使われるすべての場面で代置可能であるような、
  • 配列そのものとみなせるようなもの

という厳しいものになっています。


class Foo
  def to_ary
    [3,4]
  end
end

it = Foo.new
p([1,2] + it) #=> [1, 2, 3, 4]

[SEE_ALSO] Object#to_a,Kernel.#Array