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

wilikeit · 2018年03月30日 · 最后由 gaicitadie 回复于 2018年04月03日 · 2003 次阅读
arr=[?a,?b]
p arr  #输出:["a", "b"]

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

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

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

msg7086 回复

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

wilikeit 回复

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

msg7086 回复

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号