Ruby:使用带整数的pack(";n";)

Ruby:使用带整数的pack(";n";),ruby,integer,hex,pack,fixnum,Ruby,Integer,Hex,Pack,Fixnum,我知道我需要使用[5]。例如,pack(“n”)。这将产生输出“\x00\x05” 但是现在我想打包一根绳子的长度。如果我使用: "Hello".length.pack("n") 我得到了错误 undefined method `pack' for 5:Fixnum (NoMethodError). 我怎样才能解决这个问题?我已经尝试将“Hello.length转换为一个带有“Hello.length.to_I的整数,但是我得到了相同的错误。有没有办法解决这个问题?您需要使用数组,而不是整数

我知道我需要使用
[5]。例如,pack(“n”)
。这将产生输出
“\x00\x05”

但是现在我想打包一根绳子的长度。如果我使用:

"Hello".length.pack("n")
我得到了错误

undefined method `pack' for 5:Fixnum (NoMethodError).

我怎样才能解决这个问题?我已经尝试将
“Hello.length
转换为一个带有
“Hello.length.to_I
的整数,但是我得到了相同的错误。有没有办法解决这个问题?

您需要使用数组,而不是整数(
“Hello”。length
已经是一个了)


您需要使用数组,而不是整数(
“Hello”。length
已经是一个)


您需要使用数组,而不是整数(
“Hello”。length
已经是一个)


您需要使用数组,而不是整数(
“Hello”。length
已经是一个)


[“Hello.length].pack(“n”)
[“Hello.length”).pack(“n”)
[“Hello.length”).pack(“n”)
[“Hello.length”).pack(“n”)
?愚蠢的我。。。非常感谢。会在10分钟内接受答案^^愚蠢的我。。。非常感谢。会在10分钟内接受答案^^愚蠢的我。。。非常感谢。会在10分钟内接受答案^^愚蠢的我。。。非常感谢。我将在10分钟内接受答案^^
["Hello".length].pack("n")
# => "\x00\x05"