新手问题 请教 ?z 中的问号运算符的用法

cisolarix · 2014年11月04日 · 最后由 Victor 回复于 2014年11月05日 · 2755 次阅读

今天看 ActiveModel::Validations 部分的文档,发现了这样的用法:

由于第一眼没见过问号这么个用法,于是在 irb 里测试了一番,并搜索一番,得出结论:

?z 就相当于 "z"

于是,问题来了,如果 ?z"z" 是一样的作用,用前者有什么其他优势吗?

可以省略一个引号。需要单独输入一个字符的时候可以比较方便?

?" 
# => "\""

#1 楼 @gyorou 可是这样会牺牲不少可读性啊

我也想了很久,发现确实没啥用,所以一般不用-_-||

兼容性。

1.8.7-head :001 > s = "hello"
 => "hello" 
1.8.7-head :002 > s[0]
 => 104 
1.8.7-head :003 > ?h
 => 104
2.1.3 :001 > s = "hello"
 => "hello" 
2.1.3 :002 > s[0]
 => "h" 
2.1.3 :003 > ?h
 => "h"

#4 楼 @Alexander :plus1: 谢谢解答

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