not*_*off 4 ruby string ruby-1.8
Chris Pine的" 如何编程"提到以下内容:
?T
Run Code Online (Sandbox Code Playgroud)
应该回来84.当我运行它时,它返回"T".我怀疑存在版本差异.我猜这?是一个Array或String方法,但我找不到文档.怎么?T办?
在此上下文中,?字符是文字单字符串.因此?T是字符串"T"并且puts ?T与puts "T"您可以将其抛入IRB以检查它是相同的:
1.9.3p429 :002 > ?T
=> "T"
1.9.3p429 :001 > ?T.class
=> String
1.9.3p429 :003 > puts ?T
T
=> nil
Run Code Online (Sandbox Code Playgroud)
相关的现有SO问题和答案:
编辑添加:根据上面链接的答案的注释,这可能是ruby 1.9中的一个更改,返回单个字符String而不是ASCII字符值.(T的ASCII值为84)
1.9.3p429 :006 > ?T.ord
=> 84
Run Code Online (Sandbox Code Playgroud)