如何使用if方法添加到数组

Sup*_*meA 4 ruby arrays methods

我有一系列这样的数字......

a= [28, 67, 20, 38, 4, 39, 14, 84, 20, 64, 7, 24, 17, 8, 7, 6, 15, 52, 4, 26]
Run Code Online (Sandbox Code Playgroud)

我需要检查每个数字是否大于30,如果是,那么我想计算这个数字,并计算出多少数量大于30的数量.我有这个,但它到目前为止还没有工作

def late_items
    total_late = []
     if a.map { |i| i > 30}
      total_late << i
     end
    self.late_items = total_late.count
end
Run Code Online (Sandbox Code Playgroud)

SHS*_*SHS 5

count方法可以传递一个块来指定应该计算哪种元素.块返回false或被nil忽略的元素.

在你的情况下,它将归结为:

array.count { |element| element > 30 }
Run Code Online (Sandbox Code Playgroud)