`
easylife
  • 浏览: 14701 次
  • 性别: Icon_minigender_1
  • 来自: 忘记
最近访客 更多访客>>
社区版块
存档分类
最新评论

Answer to Best of Ruby Quiz quiz 03 version 2

阅读更多
-- 差距很大,前一版本有很多冗余逻辑

#! /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

    《Best of Ruby Quiz》是一本聚焦于Ruby编程语言的精选问答集锦,旨在帮助开发者深入理解和掌握Ruby的各种特性。这本书的描述简洁明了,"Best of Ruby Quiz"直接点出了其核心内容——一系列关于Ruby的精彩挑战和问题...

    《Best of Ruby Quiz》

    读者大多可以想出一种办法来解决这些问题,往往还能 通过思考和重构找到第二种优雅的设计,但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。

    《RUBY QUIZ - The Solitaire Cipher 》

    通过查看提供的文件列表,我们看到有“Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf”,这很可能是《Pragmatic Programmer》出版社出版的一本关于Ruby Quiz的最佳解答合集,其中可能包含了对这个具体挑战的...

    Best.of.Ruby.Quiz

    《Best.of.Ruby Quiz》是一本专为Ruby初学者精心编写的英文教程,旨在帮助新手逐步掌握这门强大而优雅的编程语言。Ruby作为一种动态、面向对象的脚本语言,因其简洁的语法和强大的元编程能力,深受开发者的喜爱。...

    Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf

    《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》概述 - **书籍标题**:本书名为《Pragmatic Bookshelf: Best of Ruby Quiz Mar. 2006》,是一本专注于Ruby编程语言的经典练习册。 - **书籍内容**:...

    ruby_quiz.rar

    "Pragmatic.Bookshelf.Best.of.Ruby.Quiz.Mar.2006.pdf"是这本书的电子版,出版于2006年3月,由Pragmatic Bookshelf出版社发行。 Ruby是一种动态、面向对象的脚本语言,以其简洁、优雅的语法和强大的元编程能力著称...

    Ruby语言中英文教程.rar

    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 ...

    BestofRubyQuizFreePdfBook.pdf 英文原版

    Best of Ruby Quiz – Free Pdf Book

    ssd3 practical quiz 2

    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

    【标题】"ssd3 practical quiz2"是一个与软件工程相关的实践测验,可能是课程"Software System Development 3"(SSD3)的一部分。这个测验可能涉及了软件开发过程中的实际操作和问题解决,旨在检验学生在项目管理和...

    ssd3 practical quiz 6

    ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5

    SSD5 Multiple-Choice Quiz 1 answer

    在SSD5数据结构的Quiz 1中,我们看到了一系列关于C++编程语言的基础知识问题。这些问题涵盖了数组、类与继承、标识符规则、算法、输入/输出操作以及预处理器等多个核心概念。以下是每个问题的详细解答: 1. 对于一...

    ssd3 quiz2答案

    "Quiz 2答案"则表明这是一个关于SSD3的第二轮测验的答案集。虽然没有提供具体的题目或答案内容,我们可以根据SSD3的主题来探讨固态硬盘(SSD)的一些核心知识点。 固态硬盘(SSD)是一种非易失性存储设备,使用固态...

    ssd3 practical quiz 3

    ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3

    ssd2 quiz 答案

    ### SSD2 Quiz 答案解析 #### 多选题解析1 **题目:** 下列关于计算机的陈述哪些是正确的? - 它们接受输入。 - 它们存储数据。 - 它们产生输出。 A. 只有 II B. 只有 II 和 III C. 只有 I 和 III D. I、II 和 ...

    SSD3-quiz4

    【SSD3 Quiz4 知识点详解】 SSD3,全称为Software System Development 3,是卡耐基梅隆大学面向对象程序设计的一门课程。Quiz 4作为该课程的重要组成部分,旨在检验学生对面向对象编程核心概念的理解,以及在实际...

    ssd3 quiz3答案

    【SSD3 Quiz3答案详解】——卡耐基教程精华解析 在计算机科学与信息技术领域,固态存储(Solid State Drive, SSD)是现代数据存储技术的重要组成部分,尤其是在提升系统性能方面发挥着至关重要的作用。卡耐基梅隆...

Global site tag (gtag.js) - Google Analytics