我使用变量缓存来减少执行时间,如下所示:
def some_method
return @var if @var
[some other code that gets executed only once]
end
return @var if @var
有简写吗?如果我使用单行方法:
@var ||= [some more code]
使用多线方法可以做类似(简短)的事情吗?
答案 0 :(得分:8)
我用这个:
@var ||= begin
# ...
end
答案 1 :(得分:0)
是否有必要在some_method
内进行?
如果没有,我会考虑做
def some_method_wrapper
@var || some_method
end
这样你可以保持some_method
清洁。