数组.count和数组.size的区别

13

array.countarray.size 有什么区别吗?

在生产环境中,有时使用 array.count 会出现错误,但是当我使用 array.size 时,相同的代码可以正常工作。


2
几年前有一篇很好的帖子:blog.hasmanythrough.com/2008/2/27/count-length-size - William
1个回答

28

从Ruby 1.8.7开始,Array#countArray#size 相同。

请注意,在低于1.8.7版本的Ruby中,Array#count 不存在,因此如果您在生产环境中运行Ruby 1.8.6,则会引发NoMethodError

另外,请确保您正在讨论数组。例如,在ActiveRecord中,#size #count 略有不同。#size 可以理解缓存,如计数器缓存,而#count 则不行。


1
谢谢。现在我才意识到我的开发系统有 Ruby 1.8.7,而暂存区则有 1.8.6。 - ssri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接