此代码适用于旧版本 1.8.X
@buff1 = "12"
@buff1[0] = 0x0b
@buff1[1] = 0x0e
我更新了一小部分代码。请再看看。因为在1.8.6
我得到"\016\v"
输出并1.9.3
显示错误TypeError: can't convert Fixnum into String
请提供 1.9.3 的解决方案
此代码适用于旧版本 1.8.X
@buff1 = "12"
@buff1[0] = 0x0b
@buff1[1] = 0x0e
我更新了一小部分代码。请再看看。因为在1.8.6
我得到"\016\v"
输出并1.9.3
显示错误TypeError: can't convert Fixnum into String
请提供 1.9.3 的解决方案
它适用于Ruby 1.9.3
p RUBY_VERSION
b = "12"
@buff1 = []
@buff1[0] = 0x0b
@buff1[1] = 0x0e
p @buff1
输出:
"1.9.3"
[11, 14]
可能您尝试过:
p RUBY_VERSION
b = "12" # you missed the statement @buff1 = []
@buff1[0] = 0x0b
@buff1[1] = 0x0e
p @buff1
你得到了以下输出:
"1.9.3"
C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scripts/test.rb:11
9:in `<main>': undefined method `[]=' for nil:NilClass (NoMethodError)
希望这段代码对您有所帮助。
更新
p RUBY_VERSION
@buff1 = "12"
@buff1[0] = 0x0b.to_s
p @buff1
@buff1[1] = 0x0e.to_s
p @buff1
输出:
"1.9.3"
"112"
"1142"