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

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

4

2 回答 2

2

我猜你>弄错了。

别担心,这是最好的情况。

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

@ad = [2, 5, 5]
@ad = [] if @ad.size > 2
@ad # => []
于 2013-01-08T23:25:01.873 回答
1

为什么@ad 不是 []?

为什么这样?您的代码非常基本,它说“如果@ad 的项目少于两个,则将其设置为一个空数组”。正如您清楚地表明的那样,@ad有不少于两个项目,它有三个项目。三个在你看来少于两个吗?

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

于 2013-01-08T20:49:12.003 回答