alias と alias_method のどちらを使うべきですか? 質問する

alias と alias_method のどちらを使うべきですか? 質問する

aliasvs.に関するブログ記事を見つけましたalias_method。そのブログ記事の例に示されているように、私は単に同じクラス内の別のメソッドにエイリアスを付けたいだけです。どちらを使用すればよいでしょうか? いつも が使用aliasされているのを見ますが、 の方alias_methodが良いと誰かが言っていました。

エイリアスの使用

class User

  def full_name
    puts "Johnnie Walker"
  end

  alias name full_name
end

User.new.name #=>Johnnie Walker

alias_method の使用法

class User

  def full_name
    puts "Johnnie Walker"
  end

  alias_method :name, :full_name
end

User.new.name #=>Johnnie Walker

ブログ投稿のリンクはこちら

ベストアンサー1

alias_method必要に応じて再定義できます。(クラス内で定義されますModule。)

aliasの動作はその範囲に応じて変化し、時にはまったく予測できないことがあります。

結論: 使用すればalias_method、柔軟性が大幅に向上します。

使用法:

def foo
  "foo"
end

alias_method :baz, :foo

おすすめ記事