Actions
Bug #12758
closedError when passing Hash construction to function
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]
Backport:
Description
I apologize if this is a known issue but I couldn't find it in the search.
If you have a function that can take a Hash, it behaves correctly if you pass a variable that contains the Hash compared to when you pass in a Hash construction using braces {}.
Example
def foo(a)
puts a.class
puts a
end
foo [1,2]
Array
[1, 2]
a = { a:1 }
foo a
Hash
{:a=>1}
This breaks¶
foo { a:1 }
SyntaxError: (irb):23: syntax error, unexpected ':', expecting '}'
foo {a:1}
^
but this works
foo( {a:1} )
Hash
{:a=>1}
This is more of a bug related to consistent syntax of the language and it is something that is allowed in Groovy and Scala
Actions
Like0
Like0Like0