我需要寫一個識別部分文字紅寶石 - 我需要每下一次迭代作爲我的方法參數
lines.each do |line|
case line.match
when :chapter
chapter = analyze_chapter(line)
previous = chapter
when :section
section = analyze_section(line)
previous.sections<< section
previous = section
end
end
等,針對不同的元素代碼。的analyze_chapter
例子:
def analyze_chapter(chapter_line)
Chapter.new(
title: chapter_line.title,
sections: [analyze_section(chapter_line)]
)
end
問題是我的輸入是這樣的:
Chapter 1 - name
Section 1 - name
我的代碼是如何工作的:我使用正則表達式來識別標題的模式。然後,我把這個匹配的標題保存爲Line
對象的title
屬性。 它工作正常,在我不同的代碼,我在那裏認識
Chapter 1 - name, Rest of the text - everything in one line
但很明顯,現在我需要下一行傳遞給sections[analyze_sections(chapter_line)]
- 我種需要下一次迭代,因爲Chapter title
和Section title
不是一條線。 我知道這可能是一些邏輯錯誤。我會很感激任何幫助。
是'analyze_section'和'analyze_sections'應該是同一個方法嗎?是屬於那一章的章節之後的所有章節? – SteveTurczyn
是的,這是一個錯字。是的,章節之後的每個章節都屬於它 - 直到下一章出現。 – Jes