--- Proc.new
--- Proc.new { ... }

    ֥å򥳥ƥȤȤȤ˥֥Ȳ֤ޤ

    ֥åꤷʤСΥ᥽åɤƤӽФ᥽åɤ֥
    ȼȤˡ Proc ֥ȤȤ֤
    

      def foo
         pr = Proc.new
         pr.call(1,2,3)
      end
      foo {|args| p args }
      # => [1, 2, 3]

    ϰʲƱǤ(̩ˤϰβλۤʤޤ
    Proc#yield [Proc/yield] 򻲾ȤƤ)

      def foo
        yield(1,2,3)
      end
      foo {|args| p args }
      # => [1, 2, 3]

    ƤӽФΥ᥽åɤ֥åȼʤС㳰 
    ArgumentError ȯޤ

      def foo
        Proc.new
      end
      foo
      # => -:2:in `new': tried to create Proc object without a block (ArgumentError)
                from -:2:in `foo'
                from -:4

    Proc.new ϡProc#initialize Ƥ
    ֥ȤνΤˤƤӽФޤΤȤ
    Сproc ƱǤ

