Lau*_*yre 7 ruby block optional
我一直在if yield self[x]用来评估一个块是返回true还是false.我需要让块可选,我看到了要做的建议yield if block_given?.我怎样才能将这两条线组合起来?
你试过这个吗?
if block_given? && yield(self[x])
# ...
end
Run Code Online (Sandbox Code Playgroud)
当没有给出阻塞时,这种情况总是会失败,即# ...不会对任何代替的东西进行评估.如果您希望条件成功,如果没有给出块,请执行以下操作:
if !block_given? || yield(self[x])
# ...
end
Run Code Online (Sandbox Code Playgroud)
或者这个,虽然我觉得它更难读:
unless block_given? && !yield(self[x])
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |