@ad = [2, 5, 5]
if @ad.size < 2
@ad = []
end
@ad # => [2, 5, 5]
为什么@ad
不是[]
?我想存储在数组中找到的最后两条记录,如果它们相同,它应该找到一条新记录。阵列如果大小超过2将数组设置为[]
@ad = [2, 5, 5]
if @ad.size < 2
@ad = []
end
@ad # => [2, 5, 5]
为什么@ad
不是[]
?我想存储在数组中找到的最后两条记录,如果它们相同,它应该找到一条新记录。阵列如果大小超过2将数组设置为[]
为什么@ad不是[]?
为什么会它是?你的代码是极其基本,它说“如果@ad少于两个项目,将其设置为一个空阵列”。正如你清楚地表明的那样,@ad 并不是有少于两个项目,它有三个项目。三个人对你来说看起来不到两个?
如果你绑找到独特项目的数量,你需要使用OT .uniq
,但它仍然不会不少于两,这将是完全两个,所以你仍然将不会输入if
条件。
我很盲目... –
我猜你错了>
。
不要担心,这发生在最好的。
还有一种更简洁的编写代码的方法,使用尾随if。
@ad = [2, 5, 5]
@ad = [] if @ad.size > 2
@ad # => []
'3 < 2' ->'false'。而且,你用单词解释的内容与你展示的代码几乎没有相似之处(至少我看不到它)。 – tokland