如何连接Ruby中的字节
在编程红宝石第二版(1.8),第124页,有一个例子说
STR2 = “”; str2 << 1 << 2 << 3; 会产生“ 001 002 003”。
我已经在irb上试了一下,得到了这个结果,但只有一次。 当我试图再次这样做,并且再也没有发生过。 任何人都可以告诉我为什么?
顺便说一句,我的环境是在红宝石2.0.0p353(2013-11-22修订版43784)[x86_64-linux]
-> irb
irb(main):001:0> str2 = ""
=> ""
irb(main):002:0> str2 << 1 << 2 <<3
=> "u0001u0002u0003"
irb(main):003:0> str1 = ""
=> ""
irb(main):004:0> str1 <<1
irb(main):005:0" str1
irb(main):006:0" str1 << 1
irb(main):007:0" str1
irb(main):008:0" str1 << 1 << 2
irb(main):009:0" str1
irb(main):010:0" str1 << 1 << 2 << 3
irb(main):011:0" str1
irb(main):012:0"
您应该在<<
和1
之间添加空格。
str1 << 1
^
否则,该行被认为是heredoc的开始。
在<<
运算符和1
之后你只需要一个空格。
现在你的代码看起来像heredoc的开始。
链接地址: http://www.djcxy.com/p/95417.html上一篇: How to concatenate byte in Ruby
下一篇: Calculate time duration into percentages of a whole month