Ruby on rails 将空数组就地转换为nil
我有以下代码:Ruby on rails 将空数组就地转换为nil,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有以下代码: some_array = [] # Sometimes is filled, in this case it isn't new_array = some_array || ['default', 'array', 'values'] 现在,不会触发|,因为[]!=无 当然,可以通过以下方式解决: new_array = some_array new_array = ['default', 'array', 'values'] if new_array.blank? 但我记得
some_array = [] # Sometimes is filled, in this case it isn't
new_array = some_array || ['default', 'array', 'values']
现在,不会触发|
,因为[]!=无
当然,可以通过以下方式解决:
new_array = some_array
new_array = ['default', 'array', 'values'] if new_array.blank?
但我记得有一个函数可以在一行中实现这一点,比如:
[].filled_arr_or_nil # nil
['something'].filled_arr_or_nil # ['something']
我无法使用搜索引擎找到答案,但是StackOverflow用一个类似的问题给了我答案,但是关于字符串: 解决办法是使用
仅在Rails中可用。您可以使用类似的内容
some_array = []
new_array = some_array.empty? ? ['default', 'array', 'values'] : some_array
这只是一个条件语句,用于检查
some\u array
是否包含任何元素,然后返回所需的输出您还可以使用类似于:new\u array=some\u array.present?一些数组:[..]