Bug #11296
closed
Proc#arity returns weird value for non-lambda proc with optional arguments
Added by matz (Yukihiro Matsumoto) almost 9 years ago.
Updated over 8 years ago.
Description
Proc.new(x=0){}.arity
returns 0, not -1 unlike lambdas.
I don't remember if it's intentional or not. Anyone remember?
Matz.
- Status changed from Open to Feedback
Proc.new(x=0){}
raises an ArgumentError
for me, in 1.8..2.3.
i think matz means:
Proc.new(){|x=0|}.arity # => 0
lambda {|x=0|}.arity # => -1
Hans, thank you. That's what I meant.
Kazuhiro, #7765 suggests that seems intentional.
After hearing opnion from others, I will close the issue (unless meaningful discussion starts).
Matz.
This is intentional, as per #5694 (note 22). It is not really related to #7765.
FWIW, I still believe it was not the best decision.
- Status changed from Feedback to Closed
Marc-Andre, thank you for the info. You have made the issue clear.
Now I can safely close the issue.
Matz.
- Status changed from Closed to Rejected
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0