我正在使用 rserve-client gem,它允许 Ruby 脚本通过 TCP/IP 与 R 通信。其中一部分涉及序列化 Ruby 对象以通过网络发送,并将返回的结果透明地转换为 Ruby。
然而,当 R 表被转换回 Ruby 时,返回的数组对象有一个我以前从未见过的奇怪符号。
例如,具有命名 id 列和 3 个值的 R 表返回:
res
=> [|WN|"id"=[1,
2,
3]
res.to_s
=> "[id=[1, 2, 3]]"
res.class
=> Array
res.inspect
=> "#<Array:70227288405140 [id=[1, 2, 3]]>"
res.class.ancestors == Array.ancestors
=> true
=> [[1,
2,
3]]
知道这是什么吗?理想情况下,我想将其转换为哈希以使用 ID...to_hash 没有得到它。.to_a 结果: