Ruby_Array_14
この記事は、以下のドキュメントを改変(自分なりに整理)して利用しています。
class Array (Ruby 3.0.0 リファレンスマニュアル)
インスタンスメソッド
concat(other) -> self
- 配列otherを自身の末尾に破壊的に連結する
irb(main):001:0> arr = [1, 2, 3] => [1, 2, 3] irb(main):002:0> brr = ['a', 'b'] => ["a", "b"] irb(main):003:0> arr.concat(brr) => [1, 2, 3, "a", "b"] irb(main):004:0> arr => [1, 2, 3, "a", "b"] irb(main):005:0> brr => ["a", "b"] irb(main):006:0> brr[1].capitalize! => "B" irb(main):007:0> arr => [1, 2, 3, "a", "B"] # memo # concatも元のotherに対して破壊的な変更を加えると影響する
irb(main):001:0> arr = [1, 2, 3] => [1, 2, 3] irb(main):002:1> arr.concat(1) Traceback (most recent call last): 5: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `<main>' 4: from /Users/mfham/.rbenv/versions/3.0.0/bin/irb:23:in `load' 3: from /Users/mfham/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/irb-1.3.0/exe/irb:11:in `<top (required)>' 2: from (irb):2:in `<main>' 1: from (irb):2:in `concat' TypeError (no implicit conversion of Integer into Array)
concat(*other_arrays) -> self
- other_arraysの要素を自身の末尾に破壊的に連結する
irb(main):001:0> arr = [1, 2, 3] => [1, 2, 3] irb(main):002:0> brr = [5, 6] => [5, 6] irb(main):003:0> crr = [10, 11] => [10, 11] irb(main):004:0> arr.concat(brr, crr) => [1, 2, 3, 5, 6, 10, 11] irb(main):005:0> arr => [1, 2, 3, 5, 6, 10, 11] irb(main):006:0> brr => [5, 6] irb(main):007:0> crr => [10, 11]
irb(main):001:0> arr = [1, 2, 3] => [1, 2, 3] irb(main):002:0> arr.concat(arr, arr) => [1, 2, 3, 1, 2, 3, 1, 2, 3] irb(main):003:0> arr => [1, 2, 3, 1, 2, 3, 1, 2, 3]
メモ
- concatはメソッド名に"!"がついていないけど破壊的なので注意