Ruby等于C#?操作员[重复
-
08-10-2019 - |
题
其他提示
如果您不介意合并为错误,则可以使用||操作员:
a = b || c
如果false可以是有效的值,您可以做:
a = b.nil? ? c : b
在检查b的情况下,为nil进行了检查,如果是,则分配了a的值,如果不是,则为b。
请注意,Ruby具有通常的无效合并的特定功能 []
或者 0
或者 0.0
.
代替
x = y || [] # or...
x = y || 0
...你可以(因为 NilClass
实现它们)只是...
x = y.to_a # => [] or ..
x = y.to_i # or .to_f, => 0
这使某些常见的设计模式如下:
(x || []).each do |y|
...看起来更好:
x.to_a.each do |y|
不隶属于 StackOverflow