我有以下代码,我想知道它是否可以压缩到一行:
if self.id
return if Party.find_by_id(self.id).name.downcase == self.name.downcase
end
我想知道是否还有这句话在一行中。
我知道你可以使用if statement ? then_statement : else_statement
,但希望你能在这里看到没有别的东西。也许break
或continue
或类似的东西? (如果你看到它,可以随意对实际代码进行优化 - 这就是这里的目的)
答案 0 :(得分:6)
简单,只是把它们塞在一起:))
return if self.id && Party.find_by_id(self.id).name.downcase == self.name.downcase
答案 1 :(得分:1)
这些都是等价的:
if some_condition
do_something
end
if some_condition; do_something; end
do_something if some_condition;
some_condition and do_something
但是,当然,您的示例已经使用了以下两种变体:)