From: jinksy@... Date: 2017-06-09T13:15:15+00:00 Subject: [ruby-core:81637] [Ruby trunk Bug#13647] Some weird behaviour with keyword arguments Issue #13647 has been reported by Arepo (Sasha Cooper). ---------------------------------------- Bug #13647: Some weird behaviour with keyword arguments https://bugs.ruby-lang.org/issues/13647 * Author: Arepo (Sasha Cooper) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I was just playing around and found this weird behaviour, which seems to be in at least Ruby 2.3.0 and Ruby 2.4.0: ~~~ ruby hashie = Hashie::Mash.new(a: :b) def foo(hashie) hashie.inspect end def woo(hashie, bashie: nil) hashie.inspect end def zoo(hashie = nil, cashie: nil) hashie.inspect end foo(hashie) # => "#" woo(hashie) # => "#" ~~~ So far so good, but when we call the third method, we get this: ~~~ ruby zoo(hashie) # => "{\"a\"=>:b}" ~~~ Similarly, ~~~ ruby zoo(:symbol) # => ":symbol" ~~~ Is this intentional behaviour? If so, what's the rationale? If not, is it a known issue? -- https://bugs.ruby-lang.org/ Unsubscribe: