From: nobu@... Date: 2017-05-23T03:45:55+00:00 Subject: [ruby-core:81341] [Ruby trunk Bug#13589][Rejected] unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash Issue #13589 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Rejected Error messages are not Markdown. Use multiline code block to quote them. ---------------------------------------- Bug #13589: unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash https://bugs.ruby-lang.org/issues/13589#change-65033 * Author: domaio (Dorian M) * Status: Rejected * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- From [`error.c`](https://github.com/ruby/ruby/blob/trunk/error.c#L1953-L1964): ~~~ 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 * * raises the exception: * * NoMethodError: undefined method `to_ary' for "hello":String */ ~~~ For instance: ~~~ ruby >> {}.c NoMethodError: undefined method `c' for {}:Hash >> {}.name NoMethodError: undefined method `name' for {}:Hash ~~~ Expected (two tildes): ~~~ ruby NoMethodError: undefined method `c` for {}:Hash ~~~ Expected (two single quotes): ~~~ ruby NoMethodError: undefined method 'c' for {}:Hash ~~~ P.S.: I just noticed it's the same for method names, e.g.: ~~~ ruby `
' # in from /Users/d/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `
' ~~~ 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 ;) ) ). -- https://bugs.ruby-lang.org/ Unsubscribe: