def f877(s)
s.each_line.with_index do |line, i|
line.each_char.with_index do |c, j|
puts "[%s, %d, %d]" % [c, j, i] if /\S/ =~ c
end
end
end
f877 "a b c\n\nd"
def f877(s)
s.lines.each_with_object([]).with_index do |(line, a), i|
line.each_char.with_index {|c, j| a << [c, j, i] if /\S/ =~ c}
end
end
p (f877 "a b c\n\nd")
ZGVmIGY4NzcocykKICBzLmVhY2hfbGluZS53aXRoX2luZGV4IGRvIHxsaW5lLCBpfAogICAgbGluZS5lYWNoX2NoYXIud2l0aF9pbmRleCBkbyB8YywganwKICAgICAgcHV0cyAiWyVzLCAlZCwgJWRdIiAlIFtjLCBqLCBpXSBpZiAvXFMvID1+IGMKICAgIGVuZAogIGVuZAplbmQKZjg3NyAiYSBiIGNcblxuZCIKCmRlZiBmODc3KHMpCiAgcy5saW5lcy5lYWNoX3dpdGhfb2JqZWN0KFtdKS53aXRoX2luZGV4IGRvIHwobGluZSwgYSksIGl8CiAgICBsaW5lLmVhY2hfY2hhci53aXRoX2luZGV4IHt8YywganwgYSA8PCBbYywgaiwgaV0gaWYgL1xTLyA9fiBjfQogIGVuZAplbmQKcCAoZjg3NyAiYSBiIGNcblxuZCIpCg==
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
[["a", 0, 0], ["b", 2, 0], ["c", 4, 0], ["d", 0, 2]]