Actions
Bug #20977
closed
backtick is used for syntax errors related to 'it'
Description
The following error message uses single quote for "'it'":
irb(main):012> [10].each_with_index { p "#{it}:#{_2}" } #=> 10
irb(main):013>
<internal:kernel>:168:in 'Kernel#loop': (irb):12: syntax error found (SyntaxError)
> 12 | ... _2}" } #=> 10
| ^~ numbered parameters are not allowed when 'it' is already used
13 |
14 |
from /Users/jnito/.rbenv/versions/3.4.0-rc1/lib/ruby/gems/3.4.0+1/gems/irb-1.14.1/exe/irb:9:in '<top (required)>'
from /Users/jnito/.rbenv/versions/3.4.0-rc1/bin/irb:25:in 'Kernel#load'
from /Users/jnito/.rbenv/versions/3.4.0-rc1/bin/irb:25:in '<main>'
However, the error below uses backtick:
irb(main):019* [1, 2, 3].map.with_index(10) do |n, i|
irb(main):020* it * i
irb(main):021> end
<internal:kernel>:168:in 'Kernel#loop': (irb):20: syntax error found (SyntaxError)
19 | [1, 2, 3].map.with_index(10) do |n, i|
> 20 | it * i
| ^~ `it` is not allowed when an ordinary parameter is defined
21 | end
22 |
from /Users/jnito/.rbenv/versions/3.4.0-rc1/lib/ruby/gems/3.4.0+1/gems/irb-1.14.1/exe/irb:9:in '<top (required)>'
from /Users/jnito/.rbenv/versions/3.4.0-rc1/bin/irb:25:in 'Kernel#load'
from /Users/jnito/.rbenv/versions/3.4.0-rc1/bin/irb:25:in '<main>'
So it should use single quote for consistency.
Updated by jnchito (Junichi Ito) 5 months ago
My pull request is here:
https://github.com/ruby/ruby/pull/12424
Updated by alanwu (Alan Wu) 5 months ago
- Assignee set to prism
Updated by kddnewton (Kevin Newton) 4 months ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0