if
如果函数不返回空,我有以下语句用函数的结果填充字段。
我想我之前看过一些例子,空检查和函数可以组合在一起,if
而我不必在条件下再次重复整个函数。
我正在寻找新的 DRY 建议!
icons = page.search("theicons").to_s if !page.search("theicons").to_s.empty?
if
如果函数不返回空,我有以下语句用函数的结果填充字段。
我想我之前看过一些例子,空检查和函数可以组合在一起,if
而我不必在条件下再次重复整个函数。
我正在寻找新的 DRY 建议!
icons = page.search("theicons").to_s if !page.search("theicons").to_s.empty?
有什么问题吗
theicons = page.search("theicons").to_s
icons = theicons unless theicons.empty?
如果您使用的是 Rails,则可以将其缩短为:
icons = page.search("theicons").to_s.presence || icons
icons = page.search("theicons") unless page.search("theicons").present?
或者
icons ||= page.search("theicons")
您可以使用逻辑运算符:
icons = (page.search('theicons') || default_value).to_s
试试这个:
icons = page.search("theicons").to_s.present? && page.search("theicons").to_s
注意:present?
是一个rails helper。