Feature #8061

重複するキーワードをエラーにする

Added by tadayoshi funaba about 1 year ago. Updated about 1 year ago.

[ruby-dev:47153]
Status:Open
Priority:Low
Assignee:Yukihiro Matsumoto
Category:-
Target version:next minor

Description

重複するキーワードをエラーにする。

def m(a:1, b:2)
p [a, b]
end

m(a:8, a:9)

History

#1 Updated by Yusuke Endoh about 1 year ago

  • Assignee set to Yukihiro Matsumoto

キーワード引数の実体はハッシュなので、

{ a: 1, a: 2 } #=> { :a => 2 }

がエラーでない以上、これもエラーにならない方が仕様として単純で好きですが、
明らかにミスっぽいケースを検出してあげるのもありですかね。

m(:a => 8, eval(":a") => 9)
h = { a: 8 }; m(**h, a: 9)

などはどうするかと合わせて、matz に。

Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF