From: usa@... Date: 2015-10-19T17:12:24+00:00 Subject: [ruby-core:71116] [CommonRuby - Feature #11605] [Rejected] Ruby should raise on def(a='a', b) [optional param that can't be used] Issue #11605 has been updated by Usaku NAKAMURA. Status changed from Open to Rejected Why did not you try actually? ~~~ irb(main):001:0> def a(opt='opt',required) irb(main):002:1> p [opt, required] irb(main):003:1> end => :a irb(main):004:0> a('required') ["opt", "required"] => ["opt", "required"] ~~~ ---------------------------------------- Feature #11605: Ruby should raise on def(a='a', b) [optional param that can't be used] https://bugs.ruby-lang.org/issues/11605#change-54484 * Author: Rodrigo Rosenfeld Rosas * Status: Rejected * Priority: Normal * Assignee: Yukihiro Matsumoto ---------------------------------------- Why doesn't Ruby complain when defining a method like this? ~~~ def a(opt='opt', required) end ~~~ I believe it's impossible to call method 'a' passing only required, while sticking to the default value for 'opt', right? So, why should Ruby allow such definition? -- https://bugs.ruby-lang.org/