alias
vs.に関するブログ記事を見つけました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