Tag: 动态编程

动态创建方法中的Ruby动态参数

我有以下几种方法定义: method_name = :foo method_arguments = [:bar, :baz] method_mandatory_arguments = {:quux => true} method_body = ->{ quux ? bar + baz : bar – baz } 所以我想得到一个真正的方法。 但是define_method没有任何动态定义方法参数的可能性。 我知道另一种使用class_eval的方法,但我知道用class_eval定义方法比使用define_method慢得多。 我怎么能有效地存档这个? 我在rails控制台中做了一些基准测试: class Foo; end n = 100_000 Benchmark.bm do |x| x.report(‘define_method’) do n.times { |i| Foo.send(:define_method, “method1#{i}”, Proc.new { |a, b, c| a + b […]