Tôi có một mảng các đối tượng chuyển nhượng mà tôi tạo ra từ một cuộc gọi cơ sở dữ liệu:Array.count với khối không trả lại câu trả lời đúng
@assignments = @player.assignments
Tôi muốn đếm chúng với điều này:
@assignments.count {|x| x.sets == 0.0}
Điều này sẽ đếm số lượng bài tập với 0,0 bộ. Tuy nhiên, điều này luôn trả về tổng số đối tượng trong @assignments. Tôi đã kiểm tra xem
@assignments.each {|x| puts x.sets == 0.0}
không trả lại đúng trong tất cả các trường hợp. Bất kỳ manh mối nào?
Edit>
@assignments.map(&:sets)
=> [35.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 75.0, 0.0, 0.0, 0.0, 0.0]
Sử dụng 'select' đầu tiên và sau đó' count'. –
Bạn có thể hiển thị đầu ra của '@ assignments.map (&: sets)' không? –
Nó hoạt động cho tôi '[1] nâng lên (chính)> bài tập = [35.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 75.0, 0.0, 0.0, 0.0, 0.0] => [35.0, 120.0, 0.0, 0.0, 0.0, 0.0, 0.0, 12.0, 75.0, 0.0, 0.0, 0.0, 0.0] [2] pry (chính)> assignments.count {| x | x == 0.0} => 9 [3] pry (chính)> assignments.count => 13' –