Actions
Bug #13589
closedunmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
    Bug #13589:
    unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
  
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
Description
From error.c:
/*
 *  Document-class: NoMethodError
 *
 *  Raised when a method is called on a receiver which doesn't have it
 *  defined and also fails to respond with +method_missing+.
 *
 *     "hello".to_ary
 *
 *  <em>raises the exception:</em>
 *
 *     NoMethodError: undefined method `to_ary' for "hello":String
 */
For instance:
>> {}.c
NoMethodError: undefined method `c' for {}:Hash
>> {}.name
NoMethodError: undefined method `name' for {}:Hash
Expected (two tildes):
NoMethodError: undefined method `c` for {}:Hash
Expected (two single quotes):
NoMethodError: undefined method 'c' for {}:Hash
P.S.: I just noticed it's the same for method names, e.g.:
`<main>'
# in
from /Users/d/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
Looking at error.c in general, it seems like a rather intentional behavior but I didn't see any explanation of it (and it doesn't look good / make it easy to copy/paste for me, even all those code examples are messed up because of it :) (but not the ones with the fixed syntax ;) ) ).
Actions