2016-01-12 135 views
-2

我想从文件读取数组并将其保存在myArray[]中。如何从文件中读取数组并将其存储在数组中

File1.txt是["abc", "def"...]我想能够解析myArray[0]这是“abc”,myArray[1]这是“def”等。

f = File.open('file.text') 
payload = f.read 
puts payload 

给出输出作为["abc", "def"...]它是一个字符串,并且变得难以阅读作为数组。

+5

请出示你的企图 – erip

+0

F = File.open( 'file.text') 有效载荷= f.read 把有效载荷 给为 “[” ABC “ ”高清“ ...]” 输出,是一个字符串,它很难作为一个数组读取。 –

+0

这可以用正则表达式来完成 – Dbz

回答

0

您将需要使用Kernel#eval将文件内容(字符串)解析为Ruby代码。

eval.txt的内容:

['abc', 'def'] 

Ruby代码:

contents = File.read("eval.txt") 
foo = Kernel.eval(contents) 
puts "Length of foo is #{foo.length}" 

输出:

Length of foo is 2 

使用JSON作为您的序列化格式可能会更理智的选择,虽然。

+0

我认为JSON更加安全。这似乎可能是危险的。实际上,exec可能是危险的。 – Dbz

+0

嗨@cody,感谢您的回应,并为您提供完美的解决方案!再次感谢。你能不能详细说一下'使用JSON作为你的序列化格式可能是更理想的选择?'我不确定你在这里的意思。我试图从文件中读取的内容不是关键值对。 –

+0

@Dbz,这个问题也适用于你..谢谢 –

相关问题