注册终于满了三天,终于可以动手写BLOG了,有点郁闷,javaEye无论从哪方面来看,都是不错的社区,唯一让俺觉得有点烦的就是发帖的这个限制,必须要三天后才可,本来看到一些不错的帖子,想回帖或者是跟大家一起讨论的时候,结果看到回复处的“三天”提示,唉。。。。。。
呵呵,发发牢骚,三天前在这里论坛看到一篇理解ruby标志的文章,好像是翻译的吧,看了下,感觉不错,看到后面朋友们的回复,让俺获益良多,本来自己也想凑凑热闹回复一下,发表自己的看法,结果“三天”提示让俺偃旗息鼓,今天终于到了期限,不用再看到那可恶的“三天”提示了,呵呵。
关于ruby中标志的概念就不多说了,在论坛里已经有很详细的解释,在论坛那帖子的回复里,很多朋友都是针对于RUBY中标志和JAVA字符串池哪个处理得更好而进行的讨论,其实关于java做得好还是ruby做得好,我个人认为不应该这样去看,我们应该从ruby本身的语言特性来看,在ruby中,任何一个字面值都是一个独立的对象,包括数字,字符等,问题就在“独立”这两个字上,ruby本身的意愿就是每一个字面值都是独立的,例如:
puts "aaa".object_id.to_s >> 21718840
puts "aaa".object_id.to_s >> 21718710
这两个是完全不同的字符串对象,ruby的本意是完全面向对象,这种同值而不同对象的方式是ruby的需要,也是完全面向对象的需要,至少我是如此认为,所以在这一特性之下,ruby就自然不能使用java的字符串池方式,而symbol的出现也就是必然的了,有的人说java处理得好,有的人说ruby处理的好,其实这些看法我个人觉得就过于片面,凭心而论,我个人觉得java字符串池的方式更省心,也更好用,但是就面向对象的角度来看,symbol更合理,第一次来这里发表看法,个人愚见,由于技术有限,所写有误处请指正,谢谢!
分享到:
- 2007-02-16 19:19
- 浏览 3154
- 评论(5)
- 论坛回复 / 浏览 (5 / 4105)
- 查看更多
相关推荐
在Ruby中,API主要体现在类、方法、模块和库的形式上,它们提供了丰富的功能供开发者使用。Ruby的官方API文档详细记录了每种内置类型、类、模块、方法以及它们的使用方式。"ruby中英文api"资料集可能包含了对这些...
在工作中,他希望有一种比 Perl 强大,比 Python 更面向对象的语言。从1993年2月,他开始设计一个全新的自己的语言,1994年12月发布了第一个 alpha版本,并且将这种新语言定名为Ruby(红宝石)。 本教程内含多部中文...
在Ruby中,异常类是继承自`StandardError`的,你可以自定义异常类来处理特定类型的错误。 Ruby on Rails是Ruby最著名的Web开发框架,它遵循MVC(模型-视图-控制器)架构模式。这份文档可能也涵盖了Rails的相关内容...
在Ruby中,Web开发最知名的框架是Ruby on Rails,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发。Rails提供了许多约定优于配置的特性,使得开发者可以更快速地构建功能丰富的网站。 总结起来,"ruby...
变量在Ruby中有四种类型:局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)和全局变量(以`$`开头)。数据类型包括字符串、数字、布尔值、数组、哈希等。控制结构包括条件语句(如...
在Ruby中,一切都是对象,包括基本的数据类型如字符串、数字和布尔值。这种特性使得Ruby在处理复杂问题时具有很高的灵活性。文档中将详细讲解Ruby的基础语法,如变量声明、控制结构(条件语句、循环)、函数和方法...
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp ...
中文翻译版可以帮助中文读者更好地理解书中的概念,从而提高学习效率。 通过这个中文手册,开发者不仅可以学习到Ruby的基本语法,还可以了解到更高级的主题,如元编程、闭包、 Blocks、Proc对象和Symbol,以及如何...
Ruby中文文档.CHM 方便ruby or rails学习.
Ruby Ruby Ruby Ruby Ruby Ruby
3. **函数与方法**:Ruby中的函数定义和调用,块和 Proc 对象,以及方法的定义、重载和作用域。 4. **面向对象编程**:Ruby是纯面向对象的语言,讲解类的定义、继承、模块(Module)的使用,以及对象创建和消息传递...
3. **块、 Proc 和 Lambda**:Ruby中的块是一段可以被传递和执行的代码,类似于其他语言中的闭包或匿名函数。Proc和Lambda是两种表示代码块的数据结构,它们可以存储和调用代码块,而且在行为上与函数类似。 4. **...
Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.Ruby使文本处理和系统管理变得简单,与Perl非常相似.一句话:简单明了,扩展性强,移植性好. Ruby的几大亮点: 语法简单 垃圾回收 ...
5. **字符串和数组**:这两种数据结构在Ruby中非常常用,文档会解释它们的操作和方法,如拼接、查找、替换等。 6. **哈希(Hash)**:Ruby的哈希是一种关联数组,键值对的存储方式,文档会介绍如何创建和操作哈希。...
Ruby中的控制结构也相当直观。`if`语句用于条件判断,`for`和`while`循环用于迭代。例如,下面的代码会打印1到5的数字: ```ruby for i in 1..5 puts i end ``` Ruby还是一个面向对象的语言,每个值都是一个对象,...
在Ruby中,元编程的强大之处在于其语法简洁且易于理解,使得程序员可以轻松地实现动态行为。Ruby提供了多种元编程工具,包括: 1. **方法定义与调用**:Ruby允许在运行时定义和修改方法,如`define_method`函数可以...
- 函数与方法:Ruby中的函数被称为方法,可以定义在类或模块中,支持块(block)和 Proc 对象。 2. **面向对象编程(OOP)** - 类与对象:Ruby是纯面向对象的语言,一切皆对象。你可以创建自定义类来封装数据和...
在本压缩包“hw-ruby-intro.zip”中,我们主要关注的是RUBY语言在SaaS(Software as a Service)软件工程中的应用。这个压缩包包含了一份名为“hw-ruby-intro”的作业代码,它是针对高级软件工程课程的,特别强调了...
Ruby中的类和模块是构建对象的基础,类用于定义对象的结构和行为,模块则用于组织代码和实现多继承。 3. **方法**:Ruby的方法可以看作是对象的行为,可以定义在类、模块或者对象上。方法调用可以用点操作符(`.`)...
通过这本指南,你可以掌握如何在Ruby中编写简单的程序,并逐渐深入到更复杂的编程技巧。 2. **RGSS入门教程**:RGSS是一种基于Ruby的游戏脚本系统,常见于RPG Maker系列软件。这个教程将教你如何使用RGSS编写游戏...