1
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

我试图在每个名称后添加引号和逗号,所以我有一个数组格式(除了括号)。在当前状态下,它将其保存回纯字符串。

4

2 回答 2

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'))
于 2012-04-17T21:27:30.923 回答
0

如果理解正确:

outfile.puts(results.map{ |m| "\'#{m}\'" }.join(', '))
于 2012-04-17T21:24:25.587 回答