Issue #17520 has been updated by marcandre (Marc-Andre Lafortune).

Status changed from Open to Feedback

You may not know that:

```ruby
p({ '2_weeks': 1 })
# =3D> prints {:"2_weeks"=3D>1}
```

Such symbols being quite rare, I believe this solution should be enough.

----------------------------------------
Bug #17520: Allow symbols starting with number, e.g. :2_weeks
https://bugs.ruby-lang.org/issues/17520#change-89836

* Author: dorianmariefr (Dorian Mari=E9)
* Status: Feedback
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------

For instance:

```
p({ 2_weeks: 1 })
```

results in:

```
a.rb:1: trailing `_' in number
p({ 2_weeks: 1 })
a.rb:1: syntax error, unexpected local variable or method, expecting =3D>
p({ 2_weeks: 1 })
```

and =


```
p({ :2_weeks =3D> 1 })
```

results in:

```
a.rb:1: trailing `_' in number
p({ :2_weeks =3D> 1 })
a.rb:1: syntax error, unexpected integer literal, expecting literal content=
 or terminator or tSTRING_DBEG or tSTRING_DVAR
```

I'm not sure if it's doable as ruby thinks I'm writing a number, just wonde=
ring if that could be possible to start a symbol with a number

(I know `{ "2_weeks": 1 }` works, that's what I'm using instead)



-- =

https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>