参考博文:
http://comments.gmane.org/gmane.comp.lang.ruby.japanese/5658
http://permalink.gmane.org/gmane.comp.lang.ruby.japanese/5662
有一个文本文件test.txt (或者test.csv),其内容为:
Fred Bloggs,Manager,Male,45
Laura Smith,Cook,Female,23
Debbie Watts,Professor,Female,38
Ruby 代码:
#!/usr/bin/ruby
require 'csv'
# CSV.open('test.csv','r') do |person|
CSV.open('test.txt','r') do |person|
# p person
puts person.inspect
end
按照书中的示例,代码应该打印三个数组,
["Fred Bloggs", "Manager", "Male", "45"]
["Laura Smith", "Cook", "Female", "23"]
["Debbie Watts", "Professor", "Female", "38"]
但实际的运行结果如下:
输出:
<#CSV io_type:File io_path:"test.txt" encoding:GBK lineno:0 col_sep:"," row_sep:"\r\n" quote_char:"\"">
后来经过调查得知,自己前不久将ruby的版本从1.8升级至了→
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux],
而ruby1.9中CSV.open的API发生了变更,在ruby1.9中要想打印或者输出csv/txt的文件内容,
需要按照如下的写法:
require 'csv'
CSV.open(...) do |csv|
csv.each do |row|
p row
end
end
分享到:
相关推荐
这些变化使得Ruby 1.9在处理大数据量和复杂逻辑时更加高效和灵活。 ### 命令行提示符和Ruby安装 书中首先介绍了如何在命令行环境下启动Ruby解释器,这是进行Ruby编程的基本前提。安装Ruby可以通过多种途径实现,...
在Ruby 1.9和2.0这两个版本中,语言有许多关键性的改进和优化。例如,1.9版本引入了Unicode字符串处理,提高了对字符串编码的支持,使得开发者可以更好地处理多语言文本。此外,1.9对块和 Proc 对象的处理方式进行了...
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等... jfinal-1.9-all.zip
在这一版中,作者深入浅出地讲解了Ruby 1.9的改进和新特性,旨在帮助开发者更好地理解和利用这个版本的优势。 1. **Ruby 1.9的关键改进**: - 字符串编码:Ruby 1.9引入了对多种字符编码的支持,使得处理多语言...
在Windows环境下安装Ruby 1.9,通常会涉及到编译环境的配置,因为Ruby的源码需要通过编译才能在Windows系统上运行。不过,如果你选择的是预编译的二进制zip包,这个过程就会简化很多。下面,我们将详细讨论如何通过...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
#### 标题解析:“Pragmatic.Programming.Ruby.1.9” 此标题表明本书主要介绍的是Ruby 1.9编程语言及其在实用主义编程(Pragmatic Programming)中的应用。Ruby是一种简洁、高效且易于学习的动态编程语言,它以其...
《Ruby 1.9中的Lambda函数详解》 Ruby语言的一大魅力在于其Block功能,它使得编写简洁、可复用的算法变得轻而易举,甚至让人们对循环的畏惧感大大降低。Block在其他编程语言中被称为Lambda函数或匿名函数,有时也被...
9. **Proc和Lambda的区别**:在Ruby 1.9中,`Proc`和`lambda`之间的区别更加明显,特别是关于`yield`的行为,`lambda`更接近于其他函数式语言中的函数行为。 10. **内建类和模块的扩展**:Ruby 1.9对很多内建类和...
Ruby 1.9 的发布对Ruby社区带来了显著的变化,尤其是其与之前的1.8版本之间的不兼容性。这种不兼容性源于对Ruby语言及其核心库的深入修改,目的是提升语言性能和规范。Ruby 1.9.0的推出并非完全稳定,Matz,即Ruby的...
- **文件操作**: Ruby提供了丰富的文件和目录操作API。 - **命令行参数**: 可以通过ARGV获取命令行传入的参数。 #### 五、类、对象与变量 - **对象与属性**: 在Ruby中,一切皆为对象,每个对象都有自己的属性和方法...
《Programming Ruby 1.9》一书由Dave Thomas、Chad Fowler与Andy Hunt共同编写,是Pragmatic Bookshelf出版的一部权威性指南,旨在帮助读者深入理解和掌握Ruby编程语言的1.9版本。该书不仅是对原版《Programming ...
ruby的参考手册,中文的,谁想要直接下载的。不用积分呀。方便大家。
### Ruby 1.9 教程相关知识点 #### 标题与描述中的核心知识点 - **Ruby 1.9 版本**: 截至2009年,Ruby已发展到1.9版本,这是该语言的一个重要里程碑。Ruby 1.9在性能、语法改进以及新特性方面进行了大量的更新和优化...
.9.1是ruby 1.9系列以来的第一个production ready的版本,这也标志着Ruby社区从此迈向了1.9的时代。 ruby 1.9是ruby发展历史上的一个里程碑版本: 1、ruby 1.9首次引入字节码即时编译技术,可以大大提高ruby本身的...
Ruby中的数组和哈希表都提供了丰富的API来方便地操作数据。 ##### 3. 控制结构 - **控制结构**:Ruby支持常见的控制流语句,如`if`、`else`、`elsif`、`case`、`when`等。这些语句用于根据条件执行不同的代码块,...
《Programming Ruby 1.9 The Pragmatic Programmers' Guide》是学习Ruby编程语言的一本经典著作,尤其针对Ruby 1.9版本进行了详细的讲解。这本书由著名的Pragmatic Programmers出版,因其深入浅出的讲解和实用的编程...