From: Eliah Hecht Date: 2005-03-11T15:57:32+09:00 Subject: Array#nitems and Object#nil? I was working on an assignment for my Algorithms & Data Structures class when I determined that I had a need to figure out whether an array was (a) empty, or contained nothing but nils and things that I want to consider nil, or (b) contained non-nil-esque items. So I was pleasantly surprised to discover Array#nitems; I thought to myself, "I'll just make nil-like things respond true to nil?". However, this didn't seem to work: it appears that Array#nitems checks whether the array elements == nil, not whether they respond true to nil?. It seems to me that a nil?-based approach would be more productive, allowing greater flexibility in terms of what counts as an item. In case I'm being unclear, if I do class Thing def nil? true end end t = Thing.new I think it should be the case that [t, nil, 7].nitems returns 1, instead of 2 as it currently does. -Eliah.