例如,有没有办法避免(在尝试时引发错误)定义具有特定名称的方法Foo#bar?(一个用例Foo#bar就是已定义的时候,我想避免重写该方法,但这与问题无关.)我假设:
class Foo
prohibit_definition :bar
end
...
# Later in some code
class Foo
def bar
...
end
end
# => Error: `Foo#bar' cannot be defined
Run Code Online (Sandbox Code Playgroud)
class Class
def method_added(method_name)
raise "So sad, you can't add" if method_name == :bad
end
end
class Foo
def bad
puts "Oh yeah!"
end
end
#irb> RuntimeError: So sad, you can't add
# from (irb):3:in `method_added'
# from (irb):7
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |