加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – “?n”与“n”的区别如何?

发布时间:2020-12-17 03:40:55 所属栏目:百科 来源:网络整理
导读:参见英文答案 what is “?” in ruby????????????????????????????????????3个 Chris Pine的“如何编程”提到以下内容: ?T 应该返回84.当我运行它时,它返回“T”.我怀疑存在版本差异.我猜是吗?是一个数组或字符串方法,但我找不到文档.什么?T做什么? 解决
参见英文答案 > what is “?” in ruby????????????????????????????????????3个
Chris Pine的“如何编程”提到以下内容:

?T

应该返回84.当我运行它时,它返回“T”.我怀疑存在版本差异.我猜是吗?是一个数组或字符串方法,但我找不到文档.什么?T做什么?

解决方法

在这方面,?带字符的是字面单字符串.因此?T是字符串“T”并且put?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

相关的现有SO问题和答案:

> https://stackoverflow.com/a/1878406/504685
> What does the unary question mark (?) operator do?

编辑添加:根据上面链接的答案的注释,这可能是ruby 1.9中的一个更改,返回单个字符String而不是ASCII字符值. (T的ASCII值为84)

1.9.3p429 :006 > ?T.ord
 => 84

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读