alias methodの場合
class User
def full_name
puts "Johnnie Walker"
end
def self.add_rename
alias_method :name, :full_name
end
end
class Developer < User
def full_name
puts "Geeky geek"
end
add_rename
end
Developer.new.name #=> 'Gekky geek'
aliasの場合
class User
def full_name
puts "Johnnie Walker"
end
def self.add_rename
alias :name :full_name
end
end
class Developer < User
def full_name
puts "Geeky geek"
end
add_rename
end
Developer.new.name #=> 'Johnnie Walker'
alias_methodの方は、動いている時点で評価するので上書きされる。
aliasは式なので、ソースコードが読み込まれた時に、読み込まれる。
alias_methodの方が、柔軟なのかもしれない。
0 件のコメント:
コメントを投稿