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
我尝试在每个名称后添加引号和逗号,因此我有一个数组格式(括号除外)。在它的当前状态下,它将其保存回一个普通字符串。
答案 0 :(得分:1)
听起来你想要一个像:
这样的文件 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'))
答案 1 :(得分:0)
如果你理解正确的话:
outfile.puts(results.map{ |m| "\'#{m}\'" }.join(', '))