摘要: 象大多数面向对象语言一样,Ruby类也允许定义类变量和方法。一个类变量允许在一个类的所有实例间共享单个变量。在Ruby中,两个@@号用于指示类变量。例如,如果你想要使一个BankAccount类的所有实例共享相同的利息率,那么该类可能被如下定义:class BankAccount@@interestRate = 6.5def BankAccount.getInterestRate()@@interestRateendattr_accessor :balancedef initialize (bal)@balance = balendend 如你所见,类变量必须在使用前初始化,并且就象实例变量一 阅读全文
posted @ 2011-04-18 22:59 Lipton 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 变量与赋值 至此,你是否注意到前面所有的示例代码中都缺少某种东西?难道你必须输入常数,实例变量或类变量?绝对不是!这正是Ruby的真正面向对象的天性的一部分。为此,首先让我们看一下Ruby中以前的普通变量。至此,你已经创建了很多Rectangle实例,但是你并没有把它们保留多长时间。比方说,你想要把一个变量赋值给你创建的一个Rectangle实例:myRectangle = Rectangle.new(4,5) 在Ruby中这是完全有效的代码,而且根本不需要另一行代码来把myRectangle类型化或声明为引用Rectangle的某种东西。在执行这一行代码以后,变量myRectangle就引用 阅读全文
posted @ 2011-04-18 22:58 Lipton 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 在Ruby中,一切都是对象。对于那些喜欢使用高度面向对象的语言(例如Smalltalk,Eiffel或CLOS)的用户来说,这是非常受欢迎的。例如1,2,3或10.8等等都是对象,而不是如Java或C++中的原始类型;字符串是对象,类和方法也都是对象。例如,下面都是有效的Ruby代码(在Ruby中,注释行是以"#"符号界定的):#对象-34的绝对值-34.abs#对一个浮点数进行四舍五入处理10.8.round#返回一个字符串对象的大写且逆转的副本"This is Ruby".upcase.reverse#返回数学sin方法的参数个数Math.metho 阅读全文
posted @ 2011-04-18 22:57 Lipton 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 提要Ruby是一种面向对象的元编程语言,是它让许多开发者感到惊讶,甚至令他们提出这样的疑问:是否真正存在比Java和C#更好的语言?本系列教程将对Ruby语言作全面的探讨并试图回答这一问题。 一、 引言 你是否听说过Ruby?如今,它成了软件开发界的一个流行话题。该语言在去年春天的一次Java会议上引起我的注意,当时象Bruce Tate,Dave Thomas等著名人物都在谈论Ruby并且告诉在场的观众Ruby值得一看。 现在,如果你象我一样正在从事软件开发,那么我们就有共识:尽管学习一种新的编程语言可能是一件趣事,但是只有你对它具有深入了解之后,你才有资格以一种怀疑眼光来看待另一种编程语言 阅读全文
posted @ 2011-04-18 22:54 Lipton 阅读(415) 评论(0) 推荐(0) 编辑