混淆字符串#concat(整数)方法的输出

时间:2013-01-19 17:15:56

标签: ruby

我正在玩耍来测试String#concat(integer)方法。代码如下:

irb(main):006:0> a="hello"
=> "hello"
irb(main):008:0> a<< "world"
=> "helloworld"
irb(main):009:0> a.concat(33)
=> "helloworld!"
irb(main):010:0> a.concat(32)
=> "helloworld! "
irb(main):011:0> a.concat(31)
=> "helloworld! \x1F"
irb(main):012:0> a.concat(34)
=> "helloworld! \x1F\""
irb(main):013:0> a.concat(3)
=> "helloworld! \x1F\"\x03"
irb(main):014:0>

但无法理解 - 为什么33值给出helloworld!输出(正确,但不是其他整数)?

为什么/ 32如何给出输出"helloworld! "

a << "world"以何种方式在内部制作字符串?

1 个答案:

答案 0 :(得分:1)

它为您helloworld!,因为!标记的ASCII代码为33。 Link