给定一个布尔的nx m数组:
[[true, true, false],
[false, true, true],
[false, true, true]]
Run Code Online (Sandbox Code Playgroud)
什么是一种简单的方法可以返回"该列中有多少真实?"
结果应该是
[1, 3, 2]
Run Code Online (Sandbox Code Playgroud)
sep*_*p2k 10
使用transpose获取一个数组,其中每个子数组代表一列,然后将每列映射到其中的trues 数:
arr.transpose.map {|subarr| subarr.count(true) }
Run Code Online (Sandbox Code Playgroud)
这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:
arr.transpose.map {|subarr| subarr.inject(0) {|s,x| x ? s+1 : s} }
Run Code Online (Sandbox Code Playgroud)