Ruby
lee576
积累是一个漫长的过程,它足以可以让你写出N本书的内容
展开
-
Ruby系列学习资料(一)
值得记忆的是一个新编程语言有时被看作万能药,特别是它的追随者;但是, 没有一个语言能代替所有其他的语言, 没有一个工具对每个任务都是最好的。在世界上有许多不同的问题领域,并且这些领域内有许多可能的限制是可能的。 高于一切,对这些问题有不同的思维方式,源于程序员本身的不同的背景和个性。基于这些原因,不可能预知语言扩散的终点。只要有语言多样性,将会有各样的保护和攻击他们。简而言之,总是存在"语言竞赛"原创 2008-01-25 16:56:00 · 1519 阅读 · 0 评论 -
Ruby是什么?
1 - Ruby是什么东东?Ruby是一种简单的面向对象编程语言,十分容易上手,并且功能强大。她是一个日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次发布的。Ruby从Perl语言那里借鉴了许多东西(有人形象地说Ruby是Perl的漂亮的妹妹:),和Perl相似,Ruby也擅长于文本处理、系统管理等任务。和Smalltalk一样,Ruby是一种纯粹的面转载 2008-07-22 11:00:00 · 6706 阅读 · 1 评论 -
一个.NET程序员为什么学习Ruby on Rails?
你是一位资深的.NET程序员,而且已经用ASP.NET构建过许多Web应用。 无数个不眠之夜,为了让ASP.NET控件生命周期中的事件驱动模型按你想要的方式执行,你费尽心血,深入细节。 <!--google_ad_client = "pub-1572879403720716";google_ad_width = 336;google_ad_height = 280;转载 2008-01-15 11:13:00 · 1254 阅读 · 0 评论 -
什么是Ruby on Rails(简称ROR)
作者:Curt Hibbs 日期:10/13/2005译者:吴海燕 日期: 7/12/2005Ruby on RailsRuby on Rails是一套用Ruby写的Web应用程序框架,Ruby是一个与Python,Smalltalk和Perl相似的动态语言。本文内容:什么是Ruby on Rails. 1本文内容:... 1高生产力... 1Rails原创 2008-01-15 11:01:00 · 1577 阅读 · 0 评论 -
什么是Ruby
Ruby是一种解释型的方便快捷的面向对象脚本语言,它是日本的Yukihiro Matsumoto(人们都叫他Matz.)于1993年2月24日首次发布的。它从Perl, Eiffel那里吸收了很多特性, 使之很适合用来文本文件处理和进行系统管理任务,并且完全面向对象。它的语法简单明快,可扩展并且可以跨平台。Ruby是完全自由开放的,意思是我们不仅 可以免费得到,而且可以自由地使用、复制、修改和分发原创 2008-01-15 10:52:00 · 1378 阅读 · 0 评论 -
Windows平台下的Ruby IDE点评
在MacOS平台几乎没有什么争议性,大家都用TextMate。但是Windows平台可供选择和使用的IDE很多,却各有各的长处和短处,为大家简单的 点评一下,以供参考。windows平台的RoR IDE主要分为两类:一类是重量级的全功能IDE,例如Eclipse,Netbeans,IDEA和jedit,运行起来很耗资源,功能比较齐全;另一 类是轻量级的IDE,例如Komodo,RoRed,vim,转载 2008-03-25 13:16:00 · 1963 阅读 · 0 评论 -
Ruby操纵外部数据(三)
20、按字节迭代文件 要每次迭代一个字节,使用each_byte实例方法。记着,它拾取一个字符(也就是一个整数)放入块中;如果你想将其转换成真正的字符使用chr方法。这儿是个例子: file = File.new("myfile") e_count = 0 file.each_byte do |byte| e_count += 1 if byte == ?e end 21、将字符串看成文原创 2008-01-26 20:08:00 · 1888 阅读 · 0 评论 -
Ruby操纵外部数据(二)
10、重新取回与设置时间戳信息 每个磁盘文件都有多个时间戳与其关联(尽管两个操作系统之间有些区别)。Ruby理解的三个时间戳是修改时间(文件内容被最后修改的时间),访问时间(文件最后被读取的时间),和更改时间(文件的目录信息被更改的最后时间)。 这三个信息部分可由三种不的方式访问。幸运的是,每种都返回同样的结果。 File类方法mtime,atime,和ctime将返回时间: t1 = Fil原创 2008-01-26 20:07:00 · 2340 阅读 · 0 评论 -
Ruby操纵数据结构(四)
8、转换哈希表为数组 要转换整个哈希表为一个数组,使用to_a方法。在结果数组中,键将被做为奇数元素(从零开始),值将被做为数组的偶数元素: h = { "a"=>1,"b"=>2} h.to_a # ["a",1,"b",2] 也可以只转换键或值到一个数组中: h.keys # ["a","b"] h.values # [1,2] 最后,你可以以键的列表为基础从数组中取出值,这要使用i原创 2008-01-26 20:04:00 · 3106 阅读 · 0 评论 -
Ruby操纵数据结构(三)
18、对数组迭代 Array类有个我们希望的标准的迭代器each。但是,它还其它很有用的迭代器。 reverse_each 方法以逆序迭代。它先使用reverse计算然后使用each,但它更快。这儿是个例子: words = %w(Son I am able she said) str = "" words.reverse_each { |w| str += "#{ w} "} # str is原创 2008-01-25 17:02:00 · 2358 阅读 · 0 评论 -
Ruby操纵数据结构(二)
Ruby操纵数据结构(二) 8、实现稀疏矩阵 有时候我们需要被定义元素很少的数组;它的其余元素可以末被定义(或者通常为零)。这称为稀疏矩阵,历史上它是消耗内存的大户,以致让人们寻找一些间接的方法来实现它。 当然,大多数情况下,Ruby数组足够有效了,因原创 2008-01-25 17:01:00 · 2295 阅读 · 0 评论 -
Ruby系列学习资料(四)
Ruby系列学习资料(四) 6、Syntax Issues Ruby的解析器是非常复杂和相对宽松的。它试图理解它看到的东西,而不是强迫程序奴隶般地遵循一套规则。然而,这种行为可能采用了一些习惯。这儿列出了你应该知道的Ruby语法: l 用于方法调用的原创 2008-01-25 16:59:00 · 1748 阅读 · 0 评论 -
Ruby系列学习资料(三)
三、OOP in Ruby Ruby的所有元素与OOP语言关系更密切,如对象封装,数据隐藏,方法的多态和覆写,类的层次和继承。 它更进一步地添加了有限制的元类特征,单态方法,模块和混插。 类似的概念在其它OOP语言内使用了其它的名字,但是相同名字的概念在语言之间也有些差别。这个部分详尽阐述OOP的这些元素在Ruby中的理解和用法。 1、对象 在Ruby中,所有的数字,字符串,数组,正则表达式原创 2008-01-25 16:58:00 · 2063 阅读 · 0 评论 -
Ruby操纵外部数据(四)
3、使用Marshal完成有限制的"深层拷贝" Ruby没有深层拷贝"deep copy"操作符。方法dup和clone不会总像你想像的那样工作。 对象可以包含嵌套的对象引用,它转向一个拷贝操作到Pick Up Sticks中。 我们提供了一个途径来处理一个有限制的深层拷贝(它有限制,是因为它还以Marshal为基础所以有同样内在限制): def deep_copy(obj) Marsh原创 2008-01-26 20:09:00 · 1559 阅读 · 0 评论 -
Ruby系列学习资料(二)
4、操作符和优先级 现在我们知道很多普通的数据类型,现在们看一下Ruby的操作符。这儿按优先级高低排列它们: 1. 作用域Scope :: 2. 索引 [] 3. 求幂 ** 4. 一元 正/负etc. + - ! ~ 5. 乘, etc. * / % 6. 加/减 + - 7. 逻辑移位, etc. > 8. 比特 and & 9. 比特 or, xor | ^ 10. 比较 > >= 1原创 2008-01-25 16:57:00 · 2186 阅读 · 0 评论 -
Ruby操纵外部数据(一)
你可永远地在磁盘上寻找Thomas B. Steel, Jr. 计算机可善于计算。如果我们只是让CPU运转并从RAM中引用需要的东西,生活会是安逸的。 A computer that only sits and thinks to itself is of little use to us, however. 迟早我们必须从它哪儿获取信息并提取它,我们的生活从这开始。 I/O完成事情很复原创 2008-01-26 20:06:00 · 1851 阅读 · 0 评论 -
Ruby操纵数据结构(五)
6、实现精确的队列 这儿我们定义一个队列,它同我们先前定义的堆栈用同样的方法。如果你想你自己的数据结构不被非法访问,我们建议你完成下面练习(见Listing3.14)。 Listing 3.14 A Stricter Queue class Queue def initialize @store = [] #数组 end def enqueue(x) #入队,添加到尾部。 @sto原创 2008-01-26 20:05:00 · 2047 阅读 · 0 评论 -
Ruby操纵数据结构(一)
所有部分应强制被放置在一起。你必须知道由你组装在一起的只能由你解开。因此,如果你不想再次把它们组在一起,则必须有原因。可以使用所有手段,但你不能使用锤子。IBM 维护手册(1925) 简单变量不会满足所有程序。每种现代语言都支持很复杂的数据结构形式且都提供创建抽象数据类型的能力。 历史上,数组是最早为人所知,使用范围最广的复杂数据结构。很早以前,在FORTRAN内,它们被称为下划线变量。今原创 2008-01-25 17:00:00 · 2819 阅读 · 0 评论 -
Ruby完全读书指南
随着Ruby和Rails的不断升温,可以预见很快就会有更多阐述某一细部的技术书籍出现,各种经验与模式也会结集出版。也许不久之后,就再也没人能像作者这样给出一份“Ruby完全读书指南”了。所以,能读到这样一篇文章,就当做是Ruby与你的缘分吧。 看到这样一个题目,大概很多读者会记起这样一张图片:左边堆着高高一摞关于Java的技术书籍,右边则是区区两本关于Ruby的。炮制这原创 2008-08-03 17:46:00 · 1367 阅读 · 0 评论