gpt4 book ai didi

ruby - 有没有办法避免定义具有特定名称的方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:24:57 27 4
gpt4 key购买 nike

有没有办法避免(尝试时引发错误)定义具有特定名称的方法,例如 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

最佳答案

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

关于ruby - 有没有办法避免定义具有特定名称的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554083/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com