或者简单地说,这个代码怎么能用较少重复的版本编写?或者更有效率?
if block_given?
render(*options, &block)
else
render(*options)
end
Run Code Online (Sandbox Code Playgroud)
使用块参数.它处理两种情况.
def foo(*options, &block)
bar(*options, &block)
end
Run Code Online (Sandbox Code Playgroud)
例:
def bar(*options)
p options
p yield if block_given?
end
foo(1)
# >> [1]
foo(2) { 'hello' }
# >> [2]
# >> "hello"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |