Issue #7663 has been reported by wycats (Yehuda Katz). ---------------------------------------- Bug #7663: Unable to invoke a method with `**kwargs` if the receiver doesn't define keyword arguments https://bugs.ruby-lang.org/issues/7663 Author: wycats (Yehuda Katz) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 2.0.0dev This works: def hello puts "hello" end hello(*[]) This does not: def hello puts "hello" end hello(**{}) I may be misunderstanding the idea behind the keyword arguments, but I would expect them to behave similarly to regular arguments when used with splat.
[ruby-trunk - Bug #7663][Open] Unable to invoke a method with `**kwargs` if the receiver doesn't def
on 2013-01-06 23:13
[ruby-trunk - Bug #7663][Rejected] Unable to invoke a method with `**kwargs` if the receiver doesn't
on 2013-01-07 02:39
Issue #7663 has been updated by matz (Yukihiro Matsumoto). Status changed from Open to Rejected Unlike regular argument, empty keyword argument is not equal to empty regular list. Matz. ---------------------------------------- Bug #7663: Unable to invoke a method with `**kwargs` if the receiver doesn't define keyword arguments https://bugs.ruby-lang.org/issues/7663#change-35239 Author: wycats (Yehuda Katz) Status: Rejected Priority: Normal Assignee: Category: Target version: ruby -v: 2.0.0dev This works: def hello puts "hello" end hello(*[]) This does not: def hello puts "hello" end hello(**{}) I may be misunderstanding the idea behind the keyword arguments, but I would expect them to behave similarly to regular arguments when used with splat.
[ruby-trunk - Bug #7663] Unable to invoke a method with `**kwargs` if the receiver doesn't define ke
on 2013-01-07 04:47
Issue #7663 has been updated by mame (Yusuke Endoh).
In the current design, keyword arguments are NOT omittable at a callee
side.
In other words, you cannot pass keyword arguments to a method that does
not support keyword argments.
Other possible behavior is to ignore the passed arguments silently (as
you expected), but I'm afraid if it is rather error-prone than useful.
It tends to hide bugs.
If you really want to do so, you can use `**` parameter explicitly.
def hello(**dummy)
puts "hello"
end
A bare `**` (#7662) is indeed useful in this use case. I'm not so
positive to this use case itself, though.
----------------------------------------
Bug #7663: Unable to invoke a method with `**kwargs` if the receiver
doesn't define keyword arguments
https://bugs.ruby-lang.org/issues/7663#change-35251
Author: wycats (Yehuda Katz)
Status: Rejected
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: 2.0.0dev
This works:
def hello
puts "hello"
end
hello(*[])
This does not:
def hello
puts "hello"
end
hello(**{})
I may be misunderstanding the idea behind the keyword arguments, but I
would expect them to behave similarly to regular arguments when used
with splat.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.