Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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 如果大小超过2,则将数组设置为[] @ad=[2,5,5] 如果@ad.size[2,5,5]_Ruby_Arrays - Fatal编程技术网

Ruby 如果大小超过2,则将数组设置为[] @ad=[2,5,5] 如果@ad.size[2,5,5]

Ruby 如果大小超过2,则将数组设置为[] @ad=[2,5,5] 如果@ad.size[2,5,5],ruby,arrays,Ruby,Arrays,为什么@ad不是[]?我想存储在数组中找到的最后两条记录,如果它们相同,它应该找到一条新记录 为什么@ad不是[] 为什么会这样?您的代码非常基本,它说“如果@ad的项目少于两个,请将其设置为空数组”。正如您清楚地显示的,@ad的项目不少于两项,它有三项。你觉得三个人比两个人少吗 如果要查找唯一项目的数量,您需要使用.uniq,但它仍然不会少于两个,而是正好是两个,因此您仍然不会输入If条件。我猜您的错了 别担心,这是最好的 有一种更简洁的方法来编写代码,使用尾随if @ad = [2, 5,

为什么
@ad
不是
[]
?我想存储在数组中找到的最后两条记录,如果它们相同,它应该找到一条新记录

为什么@ad不是[]

为什么会这样?您的代码非常基本,它说“如果@ad的项目少于两个,请将其设置为空数组”。正如您清楚地显示的,@ad的项目不少于两项,它有三项。你觉得三个人比两个人少吗


如果要查找唯一项目的数量,您需要使用
.uniq
,但它仍然不会少于两个,而是正好是两个,因此您仍然不会输入
If
条件。

我猜您的
错了

别担心,这是最好的

有一种更简洁的方法来编写代码,使用尾随if

@ad = [2, 5, 5]
if @ad.size < 2
  @ad = []
end
@ad # => [2, 5, 5]

3<2
->
false
。此外,您用文字解释的内容与您显示的代码几乎没有相似之处(至少我看不到)。
@ad = [2, 5, 5]
@ad = [] if @ad.size > 2
@ad # => []