Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将空数组就地转换为nil_Ruby On Rails_Ruby - Fatal编程技术网

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?一些数组:[..]