aliasとalias_methodとは
この2つはRubyでメソッドに別の名前をつけるためのものです。
両者の違い
⚫︎alias
はグローバル変数に別名をつけることができ、キーワードみたいです。
⚫︎alias_method
とはメソッド名に文字列が使えて、メソッドであるみたいです。
書き方
下の参考資料の引用になってしまうのですが、下記が書き方です。
alias 新メソッド名 旧メソッド名
alias 新グローバル変数名 旧グローバル変数名
alias_method 新メソッド名, 旧メソッド名
どのように使われるかというと
memos_controller.rb
def subtitle
puts "Ruby学習"
end
alias title subtitle #キーワードとして実行される
title # => "Ruby学習"
# titleはsubtitleのaliasになっているため、subtitleが実行
memos_controller.rb
class MemosController
def subtitle
puts "Rails学習"
end
alias_method :title, :subtitle #オーバーライドしたメソッドが呼ばれる
end
MemosController.new.subtitle # => "Rails学習"
# titleはsubtitleのaliasになっているため、subtitleが実行される。
⚫︎参考資料
https://techacademy.jp/magazine/18697
https://qiita.com/YumaInaura/items/7ee8d0160c907a1751a7