我有以下内容:
a_disposition = [nil,'test','demo']
a_volume = a_disposition.count{|x| x != nil}
我想计算所有非nil
和非'test'
的值。说count where x is not nil and x is not 'test'
的红宝石方式是什么?我正在使用ruby 2.0。
答案 0 :(得分:6)
(a_disposition-[nil,'test']).count # => 1
答案 1 :(得分:0)
另一种方法。它不是超级高效,但它具有良好的功能触感。 :)
a_disposition = [nil,'test','demo']
a_volume = a_disposition.reject(&:nil?).reject{|d| d == 'test'}.count # => 1
答案 2 :(得分:0)
a_disposition.compact.reject{ |x| x == 'test' }.count
答案 3 :(得分:0)
我认为对块使用count方法是最简洁的方法:
a_disposition.count{|x| !x.nil? && x != 'test'}