如何在ruby中使用块作为表达式

时间:2013-04-03 20:11:54

标签: ruby

我基本上想知道最常用的方法是什么:

@var ||= lambda {
  #some expression here to generate @var
}.call

1 个答案:

答案 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也可能会有所帮助。