从一个文件读取到一个数组,并保存回文件作为阵列
问题描述:
results = open('names.txt').map { |line| line.split(' ')[0]}
p results
n = "Names_In_Array.txt"
outfile = File.new(n, 'w')
outfile.puts(results)
outfile.close
我想在每个名称后面加上引号和逗号,所以我有一个数组格式(除括号外)。在当前状态下,它将其保存回纯字符串。从一个文件读取到一个数组,并保存回文件作为阵列
答
这听起来像你想将采取类似的文件:
ben john joe adam mike bob
和序列化到对象结构读书迟。
如果是这样的话,我建议你看看YAML。它内置于Ruby中,使读写数据结构变得简单。例如:
require 'yaml'
names = File.read('names.txt').split(' ')
File.open('Names_In_Array.txt') {|f| f << YAML::dump(names)}
你生成的文件可以在随后的程序与
names = YAML::load(File.open('Names_In_Array.txt'))
答
如果正确地理解你:
outfile.puts(results.map{ |m| "\'#{m}\'" }.join(', '))
读取另一种选择是JSON。我使用YAML。 – user1182000 2012-04-18 02:23:29