Ruby中chr()的相反功能是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

在许多语言中有一对函数,chr()并且ord()在数字和字符值之间进行转换。在某些语言中,ord()被称为asc()

Ruby有Integer#chr,这很好用:

>> 65.chr
A

"A".each_byte do |byte|
   puts byte
end

输出:

65

这与我想要的非常接近。但我真的宁愿避免循环 - 我正在寻找足够短的内容,以便在声明时可读const

提问于
用户回答回答于

如果String#ord在1.9中不存在,它会在2.0中执行:

"A".ord #=> 65
用户回答回答于

在Ruby直到并包括1.8系列中,以下都将产生65(对于ASCII):

puts ?A
'A'[0]

Ruby 1.9中的行为已经发生了变化,上述两者都会产生“A”。在Ruby 1.9中这样做的正确方法是:

'A'[0].ord

不幸的是,这个ord方法在Ruby 1.8中不存在。

扫码关注云+社区