From: matz@... (Yukihiro Matsumoto) Date: 2003-02-21T17:22:50+09:00 Subject: Re: proc {} vs. Method#to_proc Hi, In message "Re: proc {} vs. Method#to_proc" on 03/02/21, "Robert Klemme" writes: |> -1 means 0 or more args, -2 means 1 or more args, etc | |I know that, sorry if I wasn't clear enough. What bugs me is the fact that |the block with a single argument has negative arity, indicating that there |can be more arguments. Why then doesn't the block with two arguments have |arity -2, too? Or otherwise, why doesn't the block with |a| have arity 1? proc{|a|...}.call(1,2,3) works like a = 1,2,3 # a = [1,2,3] so that it takes arbitrary number of argument (thus arity = -1). If you want to receive one argument and only one, you have to do |a,| which works like a, = 1,2,3 # a = 1 matz.