如何将字符串转换为数组数组?

tom*_*pin 10 ruby arrays string

我有一个包含数组数组的字符串:

"[[1, 2], [3, 4], [5, 6]]"
Run Code Online (Sandbox Code Playgroud)

我可以将它转换为数组数组,而不使用eval或使用正则表达式gsub等吗?

我可以把它变成:

[[1, 2], [3, 4], [5, 6]]
Run Code Online (Sandbox Code Playgroud)

vee*_*vee 21

以下怎么样?

require 'json'
arr = JSON.parse("[[1, 2], [3, 4], [5, 6]]") # => [[1, 2], [3, 4], [5, 6]]
arr[0] # => [1, 2]
Run Code Online (Sandbox Code Playgroud)

  • 正如他们所说,"宾果!" (2认同)

Aru*_*hit 9

使用Ruby标准的libaray文档可以完成同样的事情 - YAML:

require 'yaml'

YAML.load("[[1, 2], [3, 4], [5, 6]]")
 # => [[1, 2], [3, 4], [5, 6]]  
Run Code Online (Sandbox Code Playgroud)