0〜1000に含まれる0をカウントする

練習 - krystal: プログラミング超初心者(文系) - Rubyist

ざっと思い付いたのはこんなの。Ruby 1.8.7以降。
「&:to_s」は Symbol#to_proc で {|i| i.to_s } というブロックを渡したのと同じ。
String#succで文字列で表現された数字を加算できる。
Array.new(N) は N 要素の配列を作成し、ブロックを渡すとインデックスをブロックパラメータに取る。

(0..1000).map(&:to_s).join.count('0')         # => 193
("0".."1000").to_a.join.count('0')            # => 193
("0".."1000").inject(0){|s,x|s+x.count('0')}  # => 193
Array.new(1001){|i|i.to_s}.join.count('0')    # => 193
Array.new(1001,&:to_s).join.count('0')        # => 193