我偶然发现了 Ruby 的 Ruby 习语||=()
,如:
def app_logger
@app_logger ||= (
logfile = File.open(::Rails.root.join(LOG_FILE), 'a')
logfile.sync = true
AppLogger.new(logfile)
)
end
我尝试使用{}
而不是()
,但它没有用。我认为{}
是为了封闭一个块。
这是一个众所周知的成语吗?是不是很好的风格?
我还没有找到很多关于这种使用括号的文档。任何指针都会有所帮助。
请注意这篇文章是关于()
这种方式的使用,而不是||=
. 已经有很多关于后一个成语的帖子。