今天看 ActiveModel::Validations 部分的文档,发现了这样的用法:
由于第一眼没见过问号这么个用法,于是在 irb 里测试了一番,并搜索一番,得出结论:
?z 就相当于 "z"
?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"
see this: http://stackoverflow.com/questions/1345843/ruby-question-mark-usage 第二个答案
#4 楼 @Alexander :plus1: 谢谢解答