Procの使い方がよく分からないのですがアドバイス御願いします

Procのinstanceをblock付でcallするにはどうすれば良いでしょう
具体的には下のような感じにしたいのですが

pr = Proc.new {|x| x.times{|i| yield i}}
pr.call(3) do |i|
p i # 0、1、2と表示されて欲しい
end