我基本上想知道最常用的方法是什么:
@var ||= lambda {
#some expression here to generate @var
}.call
答案 0 :(得分:1)
您可以使用多行块来实现这种记忆。
@result ||= begin
# The return value in here will be assigned to @result.
end
这种语法可分为两种方法。
def result
@result ||= generate_result
end
def generate_result
# Do the heavy lifting here
end
编辑:These stackoverflow answers也可能会有所帮助。