gpt4 book ai didi

ruby - Ruby 中可以使用动态类方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:24 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How do I use define_method to create class methods?

我正在尝试这样做:

class Foo
class << self
def runtime_method(*methods)
methods.each do |name|
define_method "self.#{name}" do |*args|
"dynamic class method #{name.inspect}"
end
self.class_eval do
define_method name do
"dynamic instance method #{name.inspect}"
end
end
end
end
end

runtime_method :foo, :bar
end

puts Foo.foo rescue #=> otherwise, undefined method `foo' for Foo:Class (NoMethodError)
puts Foo.new.foo #=> dynamic instance method: :foo
puts Foo.new.bar #=> dynamic instance method: :bar

有什么方法可以在 ruby​​ 中定义动态类方法吗?

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