为什么 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 值。