2010-12-09 3 views
10

Gibt es einen Unterschied zwischen und array.size?Unterschied zwischen array.count und array.size

Ich bekomme manchmal Fehler in der Produktionsumgebung bei der Verwendung array.count, aber das gleiche funktioniert, wenn ich array.size verwenden.

+2

Es gab eine gute Post darüber vor ein paar Jahren: blog.hasmanythrough.com/2008/2/27/count-length-size – William

Antwort

24

Ausgehend von Ruby 1.8.7, Array#count ist das gleiche von Array#size.

Bitte beachten Sie, dass Array#count in Ruby-Versionen niedriger als 1.8.7 nicht existiert. Wenn Sie also Ruby 1.8.6 in Produktion ausführen, wird ein NoMethodError ausgelöst.

Stellen Sie außerdem sicher, dass Sie über Arrays sprechen. In ActiveRecord beispielsweise sind #size und #count etwas unterschiedlich. #size versteht Caching wie Counter-Cache, während Count nicht.

+0

Danke dafür. Jetzt habe ich nur realisiert, dass mein Entwicklungssystem Ruby 1.8.7 hat und das Staging 1.8.6 hat. – ssri