假设我在Ruby中有一个类:
class Test
def method(arg1, arg2)
return arg1+arg2
end
memoize :method
end
我想记住它的结果。因此,出于调试目的,我修改了这样的类:
class Test
def method(arg1, arg2)
puts 'sth to make sure the method was executed'
return arg1+arg2
end
...
end
并编写了一个测试方法,该方法使用相同的args调用该方法,以查看输出的内容...以及该方法未被记忆。这样做的正确方法是什么?
答案 0 :(得分:8)
memoize :method
,记住方法Test.method
。但是,您想要记住实例方法Test#method
。为此,请在memoize :method
的初始化方法中使用Test
。 (确保先将Memoize
模块包含在Test
中。
答案 1 :(得分:0)