def test_method
["a", "b", "c"].map {|i| yield(i) }
end
このようにtest_methodを呼び出すと、次のようになります。
p test_method {|i| i.upcase }
# => ["A", "B", "C"]
単にこれを言うのではなく、なぜブロック内に{|i|}が必要なのですか。
p test_method { i.upcase }
私がそう思う理由は、test_methodでyieldが呼び出されたときに、すでに{|i|}があるからです。
["a", "b", "c"].map {|i| yield(i) }