🚀
[Bug #21186] `?あand` が parse.y と prism で一貫性がないバグ報告
[Bug #21186] Inconsistent parsing of ?あand 0
-
?あand 0
がparse.y
とprism
で挙動が違うというバグ報告-
parse.y
だとエラーにならないんですがprism
だとエラーになるみたい
-
$ ruby -v
ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux]
$ ruby --parser=prism -e "?あand 0"
-e: -e:1: syntax error found (SyntaxError)
> 1 | ?あand 0
| ^ unexpected '?', ignoring it
$ ruby --parser=parse.y -e "?あand 0"
$
-
?aand 0
だと両方ともエラーになり、?\caand 0
だと両方ともエラーにならないのは一貫しているみたいですね -
?
の挙動としては後続の『1文字が』Symbol リテラルとして定義される想定なので2文字以上の場合はエラーになるのが期待する挙動みたいですね - この不具合は開発版の Ruby 3.5-dev で『両方をもエラーになるように』修正済みです
Discussion