Jac*_*ack 1 ruby ruby-on-rails
我对ruby很新(并且正在使用Rails)并且想知道以下方法是否可以整理.在它当前的状态下它确实有效,但我觉得有一种更好的编写方式,并希望了解更多关于语法的知识.
def fullAddress
full = self.address1 + "</br>"
if self.address2.blank?
else
full = full + self.address2 + "</br>"
end
if self.address3.blank?
else
full = full + self.address3 + "</br>"
end
full = full + self.posttown + "</br>" + self.postcode
end
Run Code Online (Sandbox Code Playgroud)
每个'self'都有address1,posttown和postcode,但是address2和address3是可选的,只有当它们存在时才应该添加到fullAddress(即既不是nil也不是空白).
这个问题可能不适合SO,但我已经遇到过这种类型的辅助方法,并且我确信我可以以更好的方式实现它.
ste*_*lag 12
def full_address
[address1, address2, address3, posttown, postcode].reject{|l| l.blank?}.join('</br>')
end
Run Code Online (Sandbox Code Playgroud)
我的看法:
def fullAddress
full = [address1]
full << address2 unless address2.blank?
full << address3 unless address3.blank?
full << posttown << postcode
full.join "</br>"
end
Run Code Online (Sandbox Code Playgroud)
self 在方法调用中是隐式的,并且有点像数组一样玩杂耍.
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |