【发布时间】:2018-04-10 12:29:55
【问题描述】:
a = IO.readlines('uniqID.txt')
puts id = a[0]
id = ["Gh089k" , "HG987"] #getting value from txt file
id.class #String
id.push("GD977")
如何将上面的字符串转换成数组。所以我使用像推这样的方法。这里的 id 是字符串,看起来像一个数组
Error: undefined method `push' for "[\"Gh089k\", \"HG987\"]":String (NoMethodError)
【问题讨论】:
-
你能检查一下代码示例吗?
id应该有Array类型:[23]pry(main)> id = ["Gh089k" , "HG987"] => ["Gh089k", "HG987"] [25] pry(main)> id.class => Array -
@mrzasa id 类型为字符串。
id.class将字符串作为输出 -
你能把你的 uniqID.txt 文件的第一行放进去吗?好像是
"[\"Gh089k\", \"HG987\"]"所以当 ruby 读取它时,它只是一个字符串...... -
请在控制台中运行
id = ["Gh089k" , "HG987"]; id.class -
@mrzasa id = ["Gh089k" , "HG987"];这给出了一个数组类型。但是当我从 txt 读取时,它充当类型字符串