假设我在Ruby中有一个类:
class Test
def method(arg1, arg2)
return arg1+arg2
end
memoize :method
end
Run Code Online (Sandbox Code Playgroud)
我想记住它的结果.因此,出于调试目的,我修改了这样的类:
class Test
def method(arg1, arg2)
puts 'sth to make sure the method was executed'
return arg1+arg2
end
...
end
Run Code Online (Sandbox Code Playgroud)
并编写了一个测试,调用该方法使用相同的args,以查看输出的内容......以及该方法没有被记忆.这样做的正确方法是什么?
memoize :method在类体内,记住方法Test.method.但是,您想要记住实例方法Test#method.为此,请使用memoize :methodinside Test的initialize方法.(确保先将Memoize模块包含在内Test).
| 归档时间: |
|
| 查看次数: |
1104 次 |
| 最近记录: |