的名單我有一個#任何很奇怪的問題?對只有nil對象的數組打印true。無法獲取Ruby的#any?返回false與零對象
背景:這是模型中的所有參與 - 我在數組中有記錄列表,我數組的元素設置爲零如果索引項符合一定規則。因爲我沒有得到我期待的結果(編寫測試),所以我在一些調試中遇到了問題。
logger.debug "SIZE #{my_event_type_time_units.size}"
logger.debug "CLASS #{my_event_type_time_units.class}"
my_event_type_time_units.each { |r| logger.debug "#{r.class}" }
logger.debug "ANY? #{my_event_type_time_units.any?}"
輸出
SIZE 3
CLASS Array
NilClass
NilClass
NilClass
ANY? true
順便說一句,當我嘗試了沒有?帶有一個無對象列表,它返回false。
[nil, nil, nil].any? ## false
誰能告訴我我做錯了什麼。這是我第一次使用#any?但它不能那麼難。它可以?
any? will return true if at least one of the collection members is not false or nil
究竟是你設置爲零?你能告訴我們代碼嗎? – maprihoda
你的對象與[[nil,nil,nil]'有什麼不同?你如何構建它?當你使用logger.debug my_event_type_time_units.inspect時會發生什麼? –
好了,由兩個反應來看,我認爲原因是:因爲我回來的AR記錄列表,數組是不是一個簡單的數組(這是一個協會)和我使用Rails的#任何?方法,而不是Ruby的。當我嘗試[無,零,無] .any的例子?正在研究Ruby Array類並使用Ruby的#any?方法。 Google發現這很難,但會繼續這樣做,因爲這需要了解。爲什麼有兩個?方法有點奇怪和混亂。 – ants