p "-" == ?- # Prints true
p "a" == ?- # Prints false
- Wand Maker
1个回答
4
4
这是一种用于单个字符字符串的旧语法。
?-表示'-'
编辑:事实证明,我错得不能再错了。请参考下面@Jörg的评论。
- Sergio Tulentsev
1
1这不是一个单字符字符串的语法,而是首选字符表示的语法。在旧版本中,字符表示(例如String#[]返回的内容)是代表ASCII码点的Fixnum,?字面量会被解析为Fixnum;在新版本的Ruby中,首选字符表示是单个字符的String,?字面量会被解析为String。因此,如果你想称它为字符串的语法,你应该称它为新的字符串语法,而不是旧的字符串语法,因为在旧版本中,它是fixnums的语法。 - Jörg W Mittag
String#[]
返回的内容)是代表ASCII码点的Fixnum
,?
字面量会被解析为Fixnum
;在新版本的Ruby中,首选字符表示是单个字符的String
,?
字面量会被解析为String
。因此,如果你想称它为字符串的语法,你应该称它为新的字符串语法,而不是旧的字符串语法,因为在旧版本中,它是fixnums
的语法。 - Jörg W Mittag