我的解决方案就像
if (not (defined?(@results).nil?))
@results += "run"
else
@results = "run"
end
Run Code Online (Sandbox Code Playgroud)
但我相信有一些更简单的东西......
Dig*_*oss 25
我可能会这样做:
@results = @results.to_s + "run"
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为NilClass定义了一个#to_s返回零长度String的方法,并且因为实例变量自动初始化为nil.
Tom*_*Tom 12
你是对的:
(@results ||= "") << "run"
Run Code Online (Sandbox Code Playgroud)
澄清,a || b是a ? a : b,意味着它试图使用值a如果a是"truthy"(不是假或零)但使用bif a是"假".||=因此,如果变量为nil,则仅使用更新变量.然后,<<附加字符串.
| 归档时间: |
|
| 查看次数: |
15638 次 |
| 最近记录: |