2012-04-17 27 views
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 

我想在每個名稱後面加上引號和逗號,所以我有一個數組格式(除括號外)。在當前狀態下,它將其保存回純字符串。從一個文件讀取到一個數組,並保存迴文件作爲陣列

回答

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')) 
+0

讀取另一種選擇是JSON。我使用YAML。 – user1182000 2012-04-18 02:23:29

0

如果正確地理解你:

outfile.puts(results.map{ |m| "\'#{m}\'" }.join(', ')) 
相關問題