为什么Ruby解压缩有时返回一个数组,但有时返回值?

时间:2019-11-26 17:21:47

标签: arrays ruby string unpack

在下面的代码中,我使用unpack()从字符串中准备一些字节:

  # unpack two bytes
  byte1, byte2 = "ABCDEFG".unpack("CC")
  # unpack one byte
  byte3 = "ABCDEFG".unpack("C")

当我将鼠标悬停在byte1上时,我会看到65,当我将鼠标悬停在byte2上时,我会看到{ {1}}。为什么会这样?

1 个答案:

答案 0 :(得分:3)

在第一个示例中,您要解构返回的数组。

在第二个示例中,您不是。

unpack总是返回一个数组(如文档中所述),但是您使用该数组执行的操作会影响编辑器/ IDE中显示的内容。在第二个示例中,您将单个值设置为unpack的返回值数组。