Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

既存クラスへエイリアスを貼ったり、新規メソッドを追加する

既存のクラスにエイリアスを貼ったり、メソッドを追加したりする方法です。
今回の例では

ary = (1..10).to_a
#=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

という配列を用意し、carとcdrというメソッドを作って操作してみます。

エイリアスを貼る

carはfirstメソッドそのまんまなので、エイリアスを貼ります

class Array
  alias car first
end
=> nil

> ary.car
=> 1

メソッドを追加する

cdrは先頭より後ろのリストを返します。
rubyではdrop(1)にて実現できます。
引数がついている場合、メソッドのエイリアスは貼れないみたいなので*1新規メソッドにて対処します

class Array
  def cdr
    drop(1)
  end
end
=> nil

> ary.cdr
#=> [2, 3, 4, 5, 6, 7, 8, 9, 10]

*1:要調査