Ruby 用 ? 号代替双引号,少按键盘?

wilikeit · March 30, 2018 · Last by gaicitadie replied at April 03, 2018 · 1998 hits
arr=[?a,?b]
p arr  #输出:["a", "b"]

这样是不是少按键盘,不会有什么潜在的问题吧?

问号运算符历史上有破坏性更改。以前 ?a 的值是 97,现在才是 "a"。

而且两个双引号本来也只用按一次 " 键,并没有省下击键。如 #1 所说,%w(a b)更方便。

Reply to msg7086

还发现,为?aa 就报错了,只能是 1 个字符,双引号还是省不了的,确实不如用%w

Reply to wilikeit

因为 ?x 原本是 ASCII 数字的语法糖,?a == 97。既然是数字,那当然不可能给两个字符了。

Reply to msg7086

又涨知识了,就喜欢 ruby-china 这种不浮躁的技术氛围

You need to Sign in before reply, if you don't have an account, please Sign up first.