设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: SailCat
打印 上一主题 下一主题

终于在《游戏创造》上看到自己发的文章了,开心

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
1350
在线时间
597 小时
注册时间
2007-7-12
帖子
1278
11
发表于 2007-8-29 06:18:27 | 只看该作者
10成回扣
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22764
在线时间
2354 小时
注册时间
2005-10-15
帖子
1161

开拓者

12
 楼主| 发表于 2007-8-29 08:14:59 | 只看该作者
疯狂的石头,文静的丫头——浅说Ruby语言
文/SailCat

一.        疯狂的石头
1995年7月,一个日本的程序天才Yukihiro Matsumoto,结合Perl、Python、Java等语言的长处,发明了一种完全面象对象的脚本式编程语言,他用7月的幸运石——红宝石,将其命名为Ruby。然而,这枚红宝石却在泥潭中沉睡了8年之久,在那个编程语言借网络普及之势如雨后春笋一般出现的日子里,Ruby似乎并没有太多的被人记起。2000年那本著名的《Programming Ruby》的出现,仅仅是点亮了一盏明灯,却并未能映得宝石光芒四射。
Web 2.0的网络编程世界,就像一个大舞台,各种角色来了又走,经过跨世纪的漫长沉睡,最近的三年来,Ruby因其独到的特性,渐渐地被人从泥潭中挖掘出来,2004年7月,就在Ruby九周岁生日那年,借着Rails框架大行起道的春风,Ruby着着实实风光了一把。在2007年第一季度的全球十大编程语言排行榜上,Ruby比前一季度上升了11位,直接窜升到第十的位置,而在它前面的,几乎无一例外是C++、VB、Java这样的“大腕级”语言。除了Ruby on Rails一家独大,把持着Ruby语言几近70%的应用领地之外,Ruby in Emacs也开始成为新兴的应用。而对于游戏开发的爱好者来说,RGSS的出现,令RPG Maker XP这个业余级的游戏开发工具仿佛一夜之间点燃一场大火,将她的前辈们RPG Maker 2000、2003原本占据的地盘,一下子烧的只剩下焦土。与其说是RPG Maker XP带来了RGSS这一新的应用平台,倒不如说是RGSS推广了RPG Maker XP,带来了RM界的一场革命,放眼国内外的RM论坛,已很难再看到2000、2003的影子,取而代之的是如火如荼的关于某种游戏效果的Ruby算法实现的讨论。
Ruby,这枚“疯狂的石头”,着实火火的疯狂了一把。

二.        重剑无锋,大巧不工
Ruby的流行,和它本身的语言特性是分不开的。
OO思想的编程语言不可谓不多,从C++,到Java,到Delphi,再到新兴一代的C#和VB.net,无一不深深的刻着OO的烙印。然而Ruby却仿佛是天生为OO打造的一般,无限递归,完全接近自然语言的“元语言”式结构,使得Ruby相较于那些以大括号打天下的语言,如Java,减少了近30%的代码量。对正规表达式、sprintf的完善支持,使得Ruby在处理文本方面有着得天独厚的优势。脚本语言、弱类型变量、无需编译器的特点,更是让Ruby在中小型应用中显得得心应手(相较之下,VB、C#那种动辙数G的IDE开发界面就笨拙了很多)。当Ruby被内嵌于Rails、Emacs、RPG Maker中,并可以自由操作程序的对象时,那种插上翅膀飞翔的感觉,便深深地印在了每一个Programmer的心里。无怪乎Ruby的官方网站上,那个闪亮的红色石头下方,是醒目的“A Programmer’s Best Friend”字样。
同VC++之类相比,Ruby作为脚本式编程语言确实有着不可替代的优越性。但即便是在脚本语言这个家族谱系上,Ruby也有着JavaScript、Python、Perl、VBScript等一干兄弟姐妹。Ruby是这样一种语言:它比JavaScript简洁,比Python结构化,比Perl易懂,比VBScript健壮,也许它不一定是最好的,但是你不可否认它是很好的。
比JavaScript简洁——Ruby生就不是一个类C系的语言——除了运算符。在Ruby中,除开Hash字面量、迭代块、以及某些具有不良习惯的程序员书写的不分行代码,你几乎很难看到大括号和分号这种东西在Ruby里出现。
比Python结构化——同样是放弃了大括号,Python使用Tab缩进来表达结构,相比于Tab在不同编辑器各有区别的显示方式,Ruby那种用end来终结上一级结构的递归写法无疑使程序的可读性更通畅。
比Perl易懂——也许是我理解能力有限,但Perl那种使用符号使用的比C还厉害的脚本语言,确实让我非常头疼,而Ruby那种几乎接近自然语言的描述风格——这也是Ruby“基于表达式”的特性,让Ruby写成的代码使人读起来异常的舒服。
比VBScript健壮——同样不是类C的语言,同样是自然风格的程序代码,但是VBScript被所有人诟病的安全性让人害怕了,没有异常处理,没有完善和安全的API封装调用(在 VBScript中一旦建立了API对象集你几乎可以为所欲为),没有……相比于处处让人感觉“贴心、安心、舒心”的Ruby,VBScript差的实在太多了。你听说过用Ruby编写的病毒吗?
Ruby全套语言只有区区39个关键字,这是它的弱类型特性和基于表达式的简洁性所决定的。没有哪个语言有Ruby这么少的关键字,那种强类型的编译型面向对象语言通常会让人记关键字记到吐血(为了OO而OO的VB.net居然创记录的有207个关键字,以至于MS不得不允许开发人员在VB.net中使用关键字命名变量),简洁的匈牙利命名法使得Ruby的常量、变量、方法、属性、对象等等都有着自己特定而易懂的标记(相比,C++中对象属性居然还有.和->两套符号就有点让初学者不知所云了)。关键字虽少,但该有的功能可一样都不缺,像异常处理,分歧,循环,迭代,选择等结构,Ruby都一应俱全的支持。
正是这种“重剑无锋,大巧不工”的特性,使得Ruby在Web 2.0的脚本语言竞争中脱颖而出。

三.        动态的语言,轻盈的指尖
只有Ruby这种纯动态的语言,才会让人在写代码的时候感受到“行云流水”的舒坦,指尖轻盈地敲着键盘,蹦出的仿佛不再是冷冰冰的机器语言,而是优美的旋律一般。
面向对象的理念使得任何东西在Ruby语言中都成了对象。连表达式也不例外,当我在RGSS的一个例程里看到self.hp -= damage unless damage==nil这种写法的时候。我完全惊讶于Ruby这种简洁的表达能力。因为同样的东西你如果想在JavaScript里实现的话,只能 if (!(damage==nil)) {this.hp-=damage;}。我非常惊讶于开发Ruby的那个天才是怎么想出unless这个东东的——因为对于一些复杂的逻辑表达式来说,考虑And/Or/Not的先后顺序曾经是我非常头疼的东西——也是程序里最容易出错的地方。而更让人惊讶的是这种条件结构竟然可以放在一个表达式的后面,这就是真正的“脚本”,就像戏里台词的脚本一样:“我不能把东西给你,除非……”,这不活脱脱是这种行内unless表达式的翻版么。
Ruby对程序员的贴心到了极致,因为逻辑容易出错,Ruby便提供了&&/||/!与and/or/not两套完全对等但优先级不一样的逻辑运算符。无论你来自类C语言的大家族,还是那少数异类(Delphi/Basic/FoxPro等),都可以在书写Ruby的表达式时找到你习惯的痕迹。
记得初学VB的时候,function/sub/property(函数,方法,属性)泾渭分明的特点着实让人糊涂了一把——有必要强调成这样吗?类C语言是通过有没有返回值来区分方法和其他两个,再通过有没有参数签名来区分函数和属性,“过度”智能化的同时,却又带来一些不必要的麻烦,而且它们不支持可选参数也给编程带来了极大的不便,在操作一些程序的对象时,那些动辄10多个参数的方法,绝对能让C#的开发者一边传参数一边看着VB开发者的悠闲自得大叫吐血。然而在Ruby里,这一切都不重要了。
动态的标识符,弱数据类型,没有public,没有void,没有function/sub/property,你只需要字母表的第4-6个字母(def),管它是函数还是方法还是属性,全都能搞定。至于attr_accessor这样的东西,也就是默认属性,最多只能算是语法糖而已。
匈牙利命名法作为一种代码书写风格,在别的语言中最多是作为一种约定存在,在Ruby中却成了铁律,你必须用$来开头一个全局变量,用@来开头属性,用大写字母来开头常量和类名,用小写字母来开头变量。这不是建议,而是强制,但这种强制从来不会让人觉得不适,它并不会束缚你的思想,相反,它像一个好管家一样,把Ruby的一切都给你管理得井井有条。Intellisense?已经不重要了,这个是只有被C#、VB还有Delphi惯坏了的人才用得到的东西,区区39个关键字还记不得吗?初中课本任何一个单元的生词都不止这么多吧。
所以Ruby不需要IDE,UltraEdit32到现在为止似乎也没有官方的Ruby语法加亮器(相反,它对MS的新生事物C#和VB.net迎合的很快)。你甚至连UltraEdit32也不需要了,记事本就能成为一个很好的Ruby开发工具。

四.        以柔克刚的“弱”类型
我一向认为,若编程语言也有性别,以Ruby这种行云流水的风格,该是一可爱而充满自信的女孩。况且“Ruby”在人名表中也是女子名么。而像C++那种通篇充满着各种符号的语言,该是非常男子化的象征了,int i=8; 这种“拿毛巾,擦汗”的命令式口吻,与VB里dim i as integer=8那种“我要擦汗,快给我条毛巾”这种小女生婆婆妈妈的冗长,我都不喜欢。然而Ruby不同,她会很简洁的说i=8“来条毛巾吧”,可爱的让你不忍心问她要毛巾做什么。但如果她遇到了麻烦的,棘手的,自己一时处理不了的事情,她会慢慢的给你一步步娓娓道来,就像讲故事一样(例1):
i=(case self.element_rate[x]
   when 1
      -100
   when 2
      0
   when 3
      50
   when 4
      200
   when 5
      300
   else
      100
   end)
她的表达能力和接受能力是如此之强,以至于你完全可以这么做(例2):
i=(case self.element_rate[x]
   when 1
      -100
   when 2
      nil
   when 3
      false
   when 4
      “ruby”
   when 5
      {17=>[0], true=>”my god”}
   else
      [7,22,34]
   end)
这就是Ruby的“弱”类型特征,由于没有类型识别,你可以随便把自己想要的某个类型值赋给一个变量。但是Ruby的内心是倔强的,当你给一个变量赋了值以后,你不能再让它做一些做不了的事情。以下做法在Ruby里是行不通的:
i=8
i=””+i
这正是Ruby的聪明之处,它可以很快的检测出你对变量做了什么不该做的事情,然而JavaScript这方面却是糊涂到家,上面的代码不但可以通过,而且更被很多人拿来当一种将数字转化为字符串的偷懒做法。VBScript也是这样。所谓的弱类型Implicit转换,表面上看是语法糖,实际上却是糖衣炮弹。相比之下,Ruby的弱类型特征,是真正省略了程序员定义类型的麻烦,体现动态语言优越性的地方。你可能不知道一个变量的类型,但是你可以在运行时用is_a?方法来很容易的检测出一个变量实际具有的类型,相比.NET Framework里让人看的一个头两个大的委托和反射语法——仿佛带着脚镣跳舞——Ruby弱类型与动态特性的完美结合,才是真正的翩翩起舞,才真正能让人达到武学中所说那种“心剑合一”的境界。

五.        结语
Ruby的特性还有很多,关于这点,有名为“我喜欢Ruby的37个理由”的网文为证(http://hypermetrics.com/ruby.html)。鉴于篇幅,不能在此逐一介绍。然而Ruby并不是“阳春白雪”式的大家闺秀,更绝非“博大精深”的老学究。Ruby更像是一个平易近人的邻家女孩,她用简约的语言表达着丰富的内涵,谈吐中彰显着优雅却不贵族化的气质,举手中流露出干练而不失细心的性格。就像Ruby的官方网站所说的那样,Ruby——A Programmer’s Best Friend.

SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-29
帖子
453
13
发表于 2007-8-29 08:30:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天国守护

14
发表于 2007-8-29 15:14:56 | 只看该作者
今天,面试的同时看看有没有这书好了~~~
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-7-3
帖子
205
15
发表于 2007-8-29 19:31:19 | 只看该作者
哈哈..以前在别的论坛发的帖子终于在回收站上被管理员华丽地丢了进去{/hx}
886. 认真做游戏..我的梦幻单机-寻找破碎的宝藏
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-29
帖子
15
16
发表于 2007-8-29 20:35:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
87
在线时间
303 小时
注册时间
2006-7-12
帖子
958
17
发表于 2007-8-29 22:09:30 | 只看该作者
以下引用SailCat于2007-8-29 0:14:59的发言:

疯狂的石头,文静的丫头——浅说Ruby语言
文/SailCat

一.    疯狂的石头
1995年7月,一个日本的程序天才Yukihiro Matsumoto,结合Perl、Python、Java等语言的长处,发明了一种完全面象对象的脚本式编程语言,他用7月的幸运石——红宝石,将其命名为Ruby。然而,这枚红宝石却在泥潭中沉睡了8年之久,在那个编程语言借网络普及之势如雨后春笋一般出现的日子里,Ruby似乎并没有太多的被人记起。2000年那本著名的《Programming Ruby》的出现,仅仅是点亮了一盏明灯,却并未能映得宝石光芒四射。
Web 2.0的网络编程世界,就像一个大舞台,各种角色来了又走,经过跨世纪的漫长沉睡,最近的三年来,Ruby因其独到的特性,渐渐地被人从泥潭中挖掘出来,2004年7月,就在Ruby九周岁生日那年,借着Rails框架大行起道的春风,Ruby着着实实风光了一把。在2007年第一季度的全球十大编程语言排行榜上,Ruby比前一季度上升了11位,直接窜升到第十的位置,而在它前面的,几乎无一例外是C++、VB、Java这样的“大腕级”语言。除了Ruby on Rails一家独大,把持着Ruby语言几近70%的应用领地之外,Ruby in Emacs也开始成为新兴的应用。而对于游戏开发的爱好者来说,RGSS的出现,令RPG Maker XP这个业余级的游戏开发工具仿佛一夜之间点燃一场大火,将她的前辈们RPG Maker 2000、2003原本占据的地盘,一下子烧的只剩下焦土。与其说是RPG Maker XP带来了RGSS这一新的应用平台,倒不如说是RGSS推广了RPG Maker XP,带来了RM界的一场革命,放眼国内外的RM论坛,已很难再看到2000、2003的影子,取而代之的是如火如荼的关于某种游戏效果的Ruby算法实现的讨论。
Ruby,这枚“疯狂的石头”,着实火火的疯狂了一把。

二.    重剑无锋,大巧不工
Ruby的流行,和它本身的语言特性是分不开的。
OO思想的编程语言不可谓不多,从C++,到Java,到Delphi,再到新兴一代的C#和VB.net,无一不深深的刻着OO的烙印。然而Ruby却仿佛是天生为OO打造的一般,无限递归,完全接近自然语言的“元语言”式结构,使得Ruby相较于那些以大括号打天下的语言,如Java,减少了近30%的代码量。对正规表达式、sprintf的完善支持,使得Ruby在处理文本方面有着得天独厚的优势。脚本语言、弱类型变量、无需编译器的特点,更是让Ruby在中小型应用中显得得心应手(相较之下,VB、C#那种动辙数G的IDE开发界面就笨拙了很多)。当Ruby被内嵌于Rails、Emacs、RPG Maker中,并可以自由操作程序的对象时,那种插上翅膀飞翔的感觉,便深深地印在了每一个Programmer的心里。无怪乎Ruby的官方网站上,那个闪亮的红色石头下方,是醒目的“A Programmer’s Best Friend”字样。
同VC++之类相比,Ruby作为脚本式编程语言确实有着不可替代的优越性。但即便是在脚本语言这个家族谱系上,Ruby也有着JavaScript、Python、Perl、VBScript等一干兄弟姐妹。Ruby是这样一种语言:它比JavaScript简洁,比Python结构化,比Perl易懂,比VBScript健壮,也许它不一定是最好的,但是你不可否认它是很好的。
比JavaScript简洁——Ruby生就不是一个类C系的语言——除了运算符。在Ruby中,除开Hash字面量、迭代块、以及某些具有不良习惯的程序员书写的不分行代码,你几乎很难看到大括号和分号这种东西在Ruby里出现。
比Python结构化——同样是放弃了大括号,Python使用Tab缩进来表达结构,相比于Tab在不同编辑器各有区别的显示方式,Ruby那种用end来终结上一级结构的递归写法无疑使程序的可读性更通畅。
比Perl易懂——也许是我理解能力有限,但Perl那种使用符号使用的比C还厉害的脚本语言,确实让我非常头疼,而Ruby那种几乎接近自然语言的描述风格——这也是Ruby“基于表达式”的特性,让Ruby写成的代码使人读起来异常的舒服。
比VBScript健壮——同样不是类C的语言,同样是自然风格的程序代码,但是VBScript被所有人诟病的安全性让人害怕了,没有异常处理,没有完善和安全的API封装调用(在 VBScript中一旦建立了API对象集你几乎可以为所欲为),没有……相比于处处让人感觉“贴心、安心、舒心”的Ruby,VBScript差的实在太多了。你听说过用Ruby编写的病毒吗?
Ruby全套语言只有区区39个关键字,这是它的弱类型特性和基于表达式的简洁性所决定的。没有哪个语言有Ruby这么少的关键字,那种强类型的编译型面向对象语言通常会让人记关键字记到吐血(为了OO而OO的VB.net居然创记录的有207个关键字,以至于MS不得不允许开发人员在VB.net中使用关键字命名变量),简洁的匈牙利命名法使得Ruby的常量、变量、方法、属性、对象等等都有着自己特定而易懂的标记(相比,C++中对象属性居然还有.和->两套符号就有点让初学者不知所云了)。关键字虽少,但该有的功能可一样都不缺,像异常处理,分歧,循环,迭代,选择等结构,Ruby都一应俱全的支持。
正是这种“重剑无锋,大巧不工”的特性,使得Ruby在Web 2.0的脚本语言竞争中脱颖而出。

三.    动态的语言,轻盈的指尖
只有Ruby这种纯动态的语言,才会让人在写代码的时候感受到“行云流水”的舒坦,指尖轻盈地敲着键盘,蹦出的仿佛不再是冷冰冰的机器语言,而是优美的旋律一般。
面向对象的理念使得任何东西在Ruby语言中都成了对象。连表达式也不例外,当我在RGSS的一个例程里看到self.hp -= damage unless damage==nil这种写法的时候。我完全惊讶于Ruby这种简洁的表达能力。因为同样的东西你如果想在JavaScript里实现的话,只能 if (!(damage==nil)) {this.hp-=damage;}。我非常惊讶于开发Ruby的那个天才是怎么想出unless这个东东的——因为对于一些复杂的逻辑表达式来说,考虑And/Or/Not的先后顺序曾经是我非常头疼的东西——也是程序里最容易出错的地方。而更让人惊讶的是这种条件结构竟然可以放在一个表达式的后面,这就是真正的“脚本”,就像戏里台词的脚本一样:“我不能把东西给你,除非……”,这不活脱脱是这种行内unless表达式的翻版么。
Ruby对程序员的贴心到了极致,因为逻辑容易出错,Ruby便提供了&&/||/!与and/or/not两套完全对等但优先级不一样的逻辑运算符。无论你来自类C语言的大家族,还是那少数异类(Delphi/Basic/FoxPro等),都可以在书写Ruby的表达式时找到你习惯的痕迹。
记得初学VB的时候,function/sub/property(函数,方法,属性)泾渭分明的特点着实让人糊涂了一把——有必要强调成这样吗?类C语言是通过有没有返回值来区分方法和其他两个,再通过有没有参数签名来区分函数和属性,“过度”智能化的同时,却又带来一些不必要的麻烦,而且它们不支持可选参数也给编程带来了极大的不便,在操作一些程序的对象时,那些动辄10多个参数的方法,绝对能让C#的开发者一边传参数一边看着VB开发者的悠闲自得大叫吐血。然而在Ruby里,这一切都不重要了。
动态的标识符,弱数据类型,没有public,没有void,没有function/sub/property,你只需要字母表的第4-6个字母(def),管它是函数还是方法还是属性,全都能搞定。至于attr_accessor这样的东西,也就是默认属性,最多只能算是语法糖而已。
匈牙利命名法作为一种代码书写风格,在别的语言中最多是作为一种约定存在,在Ruby中却成了铁律,你必须用$来开头一个全局变量,用@来开头属性,用大写字母来开头常量和类名,用小写字母来开头变量。这不是建议,而是强制,但这种强制从来不会让人觉得不适,它并不会束缚你的思想,相反,它像一个好管家一样,把Ruby的一切都给你管理得井井有条。Intellisense?已经不重要了,这个是只有被C#、VB还有Delphi惯坏了的人才用得到的东西,区区39个关键字还记不得吗?初中课本任何一个单元的生词都不止这么多吧。
所以Ruby不需要IDE,UltraEdit32到现在为止似乎也没有官方的Ruby语法加亮器(相反,它对MS的新生事物C#和VB.net迎合的很快)。你甚至连UltraEdit32也不需要了,记事本就能成为一个很好的Ruby开发工具。

四.    以柔克刚的“弱”类型
我一向认为,若编程语言也有性别,以Ruby这种行云流水的风格,该是一可爱而充满自信的女孩。况且“Ruby”在人名表中也是女子名么。而像C++那种通篇充满着各种符号的语言,该是非常男子化的象征了,int i=8; 这种“拿毛巾,擦汗”的命令式口吻,与VB里dim i as integer=8那种“我要擦汗,快给我条毛巾”这种小女生婆婆妈妈的冗长,我都不喜欢。然而Ruby不同,她会很简洁的说i=8“来条毛巾吧”,可爱的让你不忍心问她要毛巾做什么。但如果她遇到了麻烦的,棘手的,自己一时处理不了的事情,她会慢慢的给你一步步娓娓道来,就像讲故事一样(例1):
i=(case self.element_rate[x]
  when 1
     -100
  when 2
     0
  when 3
     50
  when 4
     200
  when 5
     300
  else
     100
  end)
她的表达能力和接受能力是如此之强,以至于你完全可以这么做(例2):
i=(case self.element_rate[x]
  when 1
     -100
  when 2
     nil
  when 3
     false
  when 4
     “ruby”
  when 5
     {17=>[0], true=>”my god”}
  else
     [7,22,34]
  end)
这就是Ruby的“弱”类型特征,由于没有类型识别,你可以随便把自己想要的某个类型值赋给一个变量。但是Ruby的内心是倔强的,当你给一个变量赋了值以后,你不能再让它做一些做不了的事情。以下做法在Ruby里是行不通的:
i=8
i=””+i
这正是Ruby的聪明之处,它可以很快的检测出你对变量做了什么不该做的事情,然而JavaScript这方面却是糊涂到家,上面的代码不但可以通过,而且更被很多人拿来当一种将数字转化为字符串的偷懒做法。VBScript也是这样。所谓的弱类型Implicit转换,表面上看是语法糖,实际上却是糖衣炮弹。相比之下,Ruby的弱类型特征,是真正省略了程序员定义类型的麻烦,体现动态语言优越性的地方。你可能不知道一个变量的类型,但是你可以在运行时用is_a?方法来很容易的检测出一个变量实际具有的类型,相比.NET Framework里让人看的一个头两个大的委托和反射语法——仿佛带着脚镣跳舞——Ruby弱类型与动态特性的完美结合,才是真正的翩翩起舞,才真正能让人达到武学中所说那种“心剑合一”的境界。

五.    结语
Ruby的特性还有很多,关于这点,有名为“我喜欢Ruby的37个理由”的网文为证(http://hypermetrics.com/ruby.html)。鉴于篇幅,不能在此逐一介绍。然而Ruby并不是“阳春白雪”式的大家闺秀,更绝非“博大精深”的老学究。Ruby更像是一个平易近人的邻家女孩,她用简约的语言表达着丰富的内涵,谈吐中彰显着优雅却不贵族化的气质,举手中流露出干练而不失细心的性格。就像Ruby的官方网站所说的那样,Ruby——A Programmer’s Best Friend.

纯粹来顶该文{/hx}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
帖子
907
18
发表于 2007-8-29 23:17:37 | 只看该作者
《游戏创造》这杂志贵了点{/hx}………………
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-30
帖子
16
19
发表于 2007-8-30 05:41:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
126
在线时间
19 小时
注册时间
2007-7-11
帖子
432
20
发表于 2007-8-30 05:53:52 | 只看该作者
                                猫子{/gg}...
                       没见过............元老吧.....{/gg}
~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-3-13 12:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表