我确信有一个更惯用的ruby方式来编写下面的代码:
@var = obj['blah'] unless obj['blah'].nil?
Run Code Online (Sandbox Code Playgroud)
我已经完成了这些工作(见下文),并且必须有一个更好的方法!
@num_x = obj['num_x'] unless obj['num_x'].nil?
@num_y = obj['num_y'] unless obj['num_y'].nil?
@num_iterations = obj['num_iterations'] unless obj['num_iterations'].nil?
@pe = obj['pe'] unless obj['pe'].nil?
Run Code Online (Sandbox Code Playgroud)
我觉得||=操作员可能很有用,但似乎无法解决如何使用它.
对于这个共同的需求,我能想到的最短的是
@var = obj['blah'] or @var
Run Code Online (Sandbox Code Playgroud)
但如果obj['blah']可以的话false,您需要使用原始版本。
操作||=员测试左侧,而不是右侧,因此不适用于此处。
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |