为什么 Ruby 有时解包 return 一个数组,但有时 return 个值?
Why does Ruby unpack sometimes return an array, but sometimes return values?
在下面的代码中,我使用 unpack() 从字符串中准备一些字节:
# unpack two bytes
byte1, byte2 = "ABCDEFG".unpack("CC")
# unpack one byte
byte3 = "ABCDEFG".unpack("C")
当我将鼠标悬停在 byte1
上时,我会看到 65
,当我将鼠标悬停在 byte2
上时,我会看到 66
,但是当我将鼠标悬停在 byte3
上时,我会看到参见 [0] = 65
。这是为什么?
在第一个示例中,您正在解构 returned 数组。
在第二个例子中你不是。
unpack
总是 returns 一个数组(如文档中所述)但是你 对该数组所做的 将影响你的 editor/IDE。在第二个示例中,您将单个值设置为数组 unpack
的 return 值。
在下面的代码中,我使用 unpack() 从字符串中准备一些字节:
# unpack two bytes
byte1, byte2 = "ABCDEFG".unpack("CC")
# unpack one byte
byte3 = "ABCDEFG".unpack("C")
当我将鼠标悬停在 byte1
上时,我会看到 65
,当我将鼠标悬停在 byte2
上时,我会看到 66
,但是当我将鼠标悬停在 byte3
上时,我会看到参见 [0] = 65
。这是为什么?
在第一个示例中,您正在解构 returned 数组。
在第二个例子中你不是。
unpack
总是 returns 一个数组(如文档中所述)但是你 对该数组所做的 将影响你的 editor/IDE。在第二个示例中,您将单个值设置为数组 unpack
的 return 值。