-- 差距很大,前一版本有很多冗余逻辑
#! /usr/bin/ruby
require ' rexml/document '
doc = REXML::Document.new "<gedcom/>"
stack = [doc.root]
ARGF.each_line do |line|
next if line =~ /^\s*$/
# parse line
line =~ /^\s*([0-9]+)\s+(@\S+@|\S+)(\s(.*))?$/ or raise "Invalid GEDCOM"
level = $1.to_i
tag = $2
data = $4
# pop off the stack until we get the parent
while (level+1) < stack.size
stack.pop
end
parent = stack.last
# create XML tag
if tag =~ /@.+@/
el = parent.add_element data
el.attributes[ ' id ' ] = tag
else
el = parent.add_element tag
el.text = data
end
stack.push el
end
doc.write($stdout,0)
puts
分享到:
相关推荐
《Best of Ruby Quiz》是一本聚焦于Ruby编程语言的精选问答集锦,旨在帮助开发者深入理解和掌握Ruby的各种特性。这本书的描述简洁明了,"Best of Ruby Quiz"直接点出了其核心内容——一系列关于Ruby的精彩挑战和问题...
读者大多可以想出一种办法来解决这些问题,往往还能 通过思考和重构找到第二种优雅的设计,但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。
通过查看提供的文件列表,我们看到有“Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf”,这很可能是《Pragmatic Programmer》出版社出版的一本关于Ruby Quiz的最佳解答合集,其中可能包含了对这个具体挑战的...
《Best.of.Ruby Quiz》是一本专为Ruby初学者精心编写的英文教程,旨在帮助新手逐步掌握这门强大而优雅的编程语言。Ruby作为一种动态、面向对象的脚本语言,因其简洁的语法和强大的元编程能力,深受开发者的喜爱。...
《Pragmatic Bookshelf Best of Ruby Quiz Mar 2006》是一本专注于Ruby编程语言的书籍,由Pragmatic Bookshelf出版社出版。这本书的独特之处在于它采用了问答的形式,即"Quiz",来帮助读者深入理解和掌握Ruby的核心...
#### 一、《Pragmatic Bookshelf: Best of Ruby Quiz Mar. 2006》概述 - **书籍标题**:本书名为《Pragmatic Bookshelf: Best of Ruby Quiz Mar. 2006》,是一本专注于Ruby编程语言的经典练习册。 - **书籍内容**:...
"Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf"是这本书的电子版,出版于2006年3月,由Pragmatic Bookshelf出版社发行。 Ruby是一种动态、面向对象的脚本语言,以其简洁、优雅的语法和强大的元编程能力著称...
Best.of.Ruby.Quiz.pdf O'Reilly - Ruby in a Nutshell (2001).chm OReilly.Ruby.Cookbook.Jul.2006.chm Rails Recipes (2006) .pdf Rolling with Ruby on Rails.chm Ruby On Rails Book (Save Ink Version).pdf ...
Best of Ruby Quiz – Free Pdf Book
ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2ssd3 practical quiz 2
【标题】"ssd3 practical quiz2"是一个与软件工程相关的实践测验,可能是课程"Software System Development 3"(SSD3)的一部分。这个测验可能涉及了软件开发过程中的实际操作和问题解决,旨在检验学生在项目管理和...
ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5
在SSD5数据结构的Quiz 1中,我们看到了一系列关于C++编程语言的基础知识问题。这些问题涵盖了数组、类与继承、标识符规则、算法、输入/输出操作以及预处理器等多个核心概念。以下是每个问题的详细解答: 1. 对于一...
"Quiz 2答案"则表明这是一个关于SSD3的第二轮测验的答案集。虽然没有提供具体的题目或答案内容,我们可以根据SSD3的主题来探讨固态硬盘(SSD)的一些核心知识点。 固态硬盘(SSD)是一种非易失性存储设备,使用固态...
ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3
### SSD2 Quiz 答案解析 #### 多选题解析1 **题目:** 下列关于计算机的陈述哪些是正确的? - 它们接受输入。 - 它们存储数据。 - 它们产生输出。 A. 只有 II B. 只有 II 和 III C. 只有 I 和 III D. I、II 和 ...
【SSD3 Quiz4 知识点详解】 SSD3,全称为Software System Development 3,是卡耐基梅隆大学面向对象程序设计的一门课程。Quiz 4作为该课程的重要组成部分,旨在检验学生对面向对象编程核心概念的理解,以及在实际...
【SSD3 Quiz3答案详解】——卡耐基教程精华解析 在计算机科学与信息技术领域,固态存储(Solid State Drive, SSD)是现代数据存储技术的重要组成部分,尤其是在提升系统性能方面发挥着至关重要的作用。卡耐基梅隆...