[ruby-core:102855] [Ruby master Bug#17724] Pattern matching error message is confusing
From:
marcandre-ruby-core@...
Date:
2021-03-15 02:57:54 UTC
List:
ruby-core #102855
Issue #17724 has been updated by marcandre (Marc-Andre Lafortune). Agreed. Ideally instance variable would be allowed, no? ---------------------------------------- Bug #17724: Pattern matching error message is confusing https://bugs.ruby-lang.org/issues/17724#change-90913 * Author: jnchito (Junichi Ito) * Status: Open * Priority: Normal * ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- When I use pattern match with instance variables, I get an error message like "expecting local variable or method" ``` ruby @n = 1 case 1 in ^@n # ... end #=> syntax error, unexpected instance variable, expecting local variable or method (SyntaxError) # in ^@n # ^~ ``` However using method is not allowed, either. ``` ruby def n = 1 case 1 in ^n # ... end #=> n: no such local variable (SyntaxError) ``` I think the message "expecting local variable or method" is confusing and should be fixed like "expecting local variable." -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>