ruby里面的=~标识什么

Python015

ruby里面的=~标识什么,第1张

1. 字符串符号,都是Ruby中表示文本的方式

不管字符串变量也好,符号变量也好,都是用来表示文本的,它们之间,也可以互相转换(通过to_sym和to_s):

>> "book".to_sym

=>:book

>> :track.to_s

=>"track"

2. 相同的符号是一个对象,相同的字符并不一定是一个对象

这就是符号和字符串最大的差别,符号是不可变的,不能对一个符号进行修改。所以说,两个看起来相同的符号一定是一个对象,但是说两个看起来一样的字符串是一个对象,就不对了。

这里,我们用 equal? 方法检验这一点,当两个对象相同时,equal返回true,反之是false:

>> :book.equal?(:book)

=>true

>> "book".equal?("book")

=>false

ruby是一种简单的面向对象编程语言,设计者是松本行弘,其灵感特性来自于Perl、Smalltalk、Eiffel、Ada 以及Lisp 语言。由于Perl的发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名,估计设计者选择7月诞生石是想表达“Ruby在Perl之后诞生”的意思。

参考:http://baike.baidu.com/view/45135.htm

Sapphire是一种编译型语言,设计核心是简单、高效、可靠。虽然在代码写法上借鉴了ruby的简洁、人性化和可读性,但设计者并没打算把它变成ruby的分支,而是变成一种严格封装且快速的.NET语言。

参考:http://hi.baidu.com/phpscript/blog/item/272d4831ebb90591a9018ed8.html