发表时间:2007年4月29日 15时27分25秒
看了两章语法,拿起参考手册就开始了我的第一个ruby程序,
想起以前做过的一个小工具,就拿来了做实验。
是一个将手机号码文件按地市分离的小程序。
就是熟悉了一下IO系统,因为我平时需要写这一方面的IO太多了。
完成同样功能的JAVA程序花了70行左右的代码,而ruby仅花费了30行,可见ruby确实在语法上非常的简练。
而且ruby的 block 确实无处不在。
rules = Hash.new(0)
filewriters = Hash.new(0)
File.open("rules.txt") do |rule_file|
rule_file.each do |line|
area,prefix = line.chomp.split(/\s*\,\s*/)
rules[prefix] = area;
end
end
File.open("input.txt") do |input_file|
input_file.each do |line|
code_seg = line[0,7];
if rules.has_key?(code_seg)
area = rules[code_seg];
if !filewriters.has_key?(area)
filewriters[area] = File.open(area+".txt","w+")
end
filewriters[area] << line
else
if !filewriters.has_key?("000")
filewriters["000"] = File.open("000.txt","w+")
end
filewriters["000"] << line
end
end
end
filewriters.each_value {|file| file.close}
分享到:
相关推荐
在Ruby编程环境中,安装和配置Ruby是开始学习的第一步。Ruby可以在多种操作系统上运行,包括Windows和Linux。安装过程包括下载并执行安装程序,设置环境变量,确保Ruby解释器和相关工具如`gem`(Ruby的包管理器)...
第一部分:通过简单的Ruby程序来介绍程序的基本架构。 第二部分:介绍基础语法规则,以及类、模块等面向对象程序设计的思考方法与用词。 第三部分:对一些基础类逐一介绍其功能与用法。 第四部分:介绍一些...
- **编辑工具**:除了命令行外,还可以使用FreeRIDE、SciTE等编辑器进行Ruby程序的开发。 ##### §2.3 Ruby-irb - **交互式解释器**:irb是Ruby的一个交互式命令行环境,可以即时测试代码片段。 ##### §2.4 Ruby-...
1. **下载**:首先,你需要从Ruby官方网站或者第三方源获取Ruby 2.1.0的源代码包。 2. **解压**:使用解压缩工具(如WinRAR或7-Zip)打开并提取压缩包文件`ruby-2.1.0`。 3. **编译**:进入解压后的目录,使用`./...
书中的第一章通常会介绍Ruby的基本语法,包括变量声明、数据类型(如整型、浮点型、字符串、布尔型、数组和哈希)以及控制结构(如条件语句if/else和循环for/while)。 接下来,书中的核心内容会深入到Ruby的面向...
2. **Ruby 1.9系列的改进**:Ruby 1.9.1是1.9系列的第一个稳定版本,引入了多项关键改进。例如,它引入了全新的Unicode字符串编码支持,提高了对不同字符集的处理能力;新的语法结构,如内联字符串插值(String ...
《Ruby程序设计(中文教程)》是一本专为中国读者编写的详细介绍Ruby编程语言的教程。该教程虽然在详细程度上可能略逊于经典的英文教材《Programming Ruby》,但其优势在于更加贴近中国读者的思维习惯,使得学习过程...
Ruby是一种高级、动态、面向对象的脚本语言,它的设计理念是强调代码的可读性和简洁性,使得开发者能够更高效地编写程序。Ruby由日本人松本行弘在1995年创建,它深受Perl、Smalltalk、Eiffel、Lisp和Python等语言的...
- Ruby有一个庞大的库系统,称为Gems,它提供了大量的第三方库和工具,方便开发者扩展功能。 总结来说,"ruby小程序2.rar"包含的两个文件可能是使用Ruby编写的脚本,它们可能实现了特定的功能或者逻辑。要了解这些...
Ruby-DataObjects是一个重要的Ruby库,它旨在提供一个统一的接口来访问各种不同的数据库系统,如MySQL、PostgreSQL、SQLite3等。这个项目的主要目标是让开发者能够在不改变代码的情况下,轻松地切换数据库后端,这极...
1. **文本预处理**:去除标点符号、数字和停用词,这是大多数NLP任务的第一步,因为这些元素通常不包含实质性的语义信息。 2. **词汇计数**:统计文本中每个单词出现的频率,这有助于识别文本的主题或关键词。 3. ...
Ruby元编程是编程领域中一个深入且强大的主题,它允许程序员在运行时修改或创建代码,极大地提高了灵活性和代码的动态性。这本书“Ruby元编程第二版”专注于讲解Ruby语言的这一独特特性,旨在帮助开发者更好地理解和...
### Ruby程序设计高级教程知识点概览 #### 一、Ruby语言概述 - **历史背景**:本章节将介绍Ruby语言的发展历程,从最初的构想到它如何成为一种流行的编程语言。 - **命名来源**:Ruby这个名字背后的故事,以及它为...
Ruby-twittercldrrb是基于ICU(International Components for Unicode)的一个Ruby库,主要用于处理国际化(i18n)和本地化(l10n)任务。这个库为Ruby开发者提供了一套强大的工具,用于在应用程序中实现多语言支持...
RubyGems是一个 Ruby打包系统,可以用来安装和管理 Ruby程序。 游戏脚本语言是游戏开发中的一个重要组成部分,而 Ruby语言是游戏脚本语言中的一种流行语言。了解 Ruby语言的基础知识对于游戏开发者来说是非常重要...
它由松本行弘(Yukihiro Matsumoto),人们通常亲切地称他为Matz,于1995年开始设计,并在1997年发布了第一个版本。Ruby的设计哲学是“简单实用”,即通过最少的努力来完成更多的工作,这也是编程语言中“懒人法则”...
"ruby测试代码1"可能指的是一个具体的测试用例或者测试框架的实例,用于验证Ruby程序的功能和性能。Ruby提供了多种测试工具,如MiniTest、RSpec和Cucumber等,它们各自有其特点和适用场景。 MiniTest是Ruby标准库的...
支持向量机(Support Vector Machine, SVM)是一种广泛应用于机器学习和模式识别的算法,它通过构造一个超平面来最大化类别间的间隔,从而达到分类或回归的目的。在本主题中,我们将深入探讨如何使用Ruby语言实现SVM...