此代码适用于旧版本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的解决方案
答案 0 :(得分:0)
适用于 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"