Actions
Feature #20235
openDeprecate CHAR syntax
Status:
Open
Assignee:
-
Target version:
-
Description
I propose deprecating the ?c
syntax. It served a purpose in ruby <= 1.8, but no longer.
The reason I'm proposing this is because today I ran into this error:
p $stdin.closed?=>true # comparison of String with true failed (ArgumentError)
I was completed mystified, and had to resort to Ripper to figure out what's going on
p *Ripper.lex("p $stdin.closed?=>true")
[[1, 0], :on_ident, "p", CMDARG]
[[1, 1], :on_sp, " ", CMDARG]
[[1, 2], :on_gvar, "$stdin", END]
[[1, 8], :on_period, ".", DOT]
[[1, 9], :on_ident, "closed", ARG]
[[1, 15], :on_CHAR, "?=", END] #OOOOHH!!!!!
[[1, 17], :on_op, ">", BEG]
[[1, 18], :on_kw, "true", END]
We don't have to commit to a removal schedule right now, but I think it would at least be good to print a deprecation message if $VERBOSE.
Actions
Like1
Like0Like0Like0Like0Like0Like0Like0