【发布时间】:2013-12-17 20:49:56
【问题描述】:
我目前正在尝试创建一个 ruby 算法来执行以下操作:
l = Array.new
给定数组是数组形式的文本,具有三个清单,每个清单分别标题为 Section No. 1、Section No. 2、Section No. 3。
通过循环遍历数组 (l) 并将每一行添加到一个大字符串中,将整个文本放入一个字符串中。
使用拆分方法和关键字“Section No.”拆分字符串这将创建一个数组,其中每个元素都是文本的一部分。
循环遍历这个新数组,为每个元素创建文件。
到目前为止,我有以下内容:
a = l.join ''
b = Array.new
b = a.split ("Section No.")`
如何将最简单的方法写到第三部分? 应该只有大约 2-3 行。
输出将是创建三个文件,每个文件都以清单标题命名。
“复杂版本”
file_name = "Section"
section_number = "1"
new_text = File.open(file_name + section_number, 'w')
i = 0
n= 1
while i < l.length
if (l[i]!= "SECTION") and (l[i+1]!= "No")
new_text.puts l[i]
i = i + 1
else
new_text.close
section_number = (section_number.to_i +1).to_s
new_text = File.open(file_name + section_number, "w")
new_text.puts(l[i])
new_text.puts(l[i+1])
i=i+2
end
end
【问题讨论】: