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

cisolarix · November 04, 2014 · Last by Victor replied at November 05, 2014 · 2760 hits

今天看 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: 谢谢解答

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