Shorthand 对于 x ? x : y
Shorthand for x ? x : y
x ? x : y
有 shorthand 吗?一个相对温和的例子:
def find_or_create_by_name(name)
self.find_by_name(name) ? self.find_by_name(name) : self.create(name)
end
当然我可以做类似的事情
def find_or_create_by_name(name)
x = self.find_by_name(name)
x ? x : self.create(name)
end
但随后我开始丢失我最初使用三元运算符保存的 space。 (如果我使用完整的 if
语句,则会发生相同的冗余。
您可以只使用 ||
运算符:
def find_or_create_by_name(name)
find_by_name(name) || create(name)
end
x ? x : y
有 shorthand 吗?一个相对温和的例子:
def find_or_create_by_name(name)
self.find_by_name(name) ? self.find_by_name(name) : self.create(name)
end
当然我可以做类似的事情
def find_or_create_by_name(name)
x = self.find_by_name(name)
x ? x : self.create(name)
end
但随后我开始丢失我最初使用三元运算符保存的 space。 (如果我使用完整的 if
语句,则会发生相同的冗余。
您可以只使用 ||
运算符:
def find_or_create_by_name(name)
find_by_name(name) || create(name)
end