深入体会Ruby的String类型有哪些强项

Python09

深入体会Ruby的String类型有哪些强项,第1张

在Java中,对于字面量的字符串,jvm内部维持一张表,因此如果在Java中,str1和str2是同一个String对象。而在Ruby中, str1和str2是完全不同的对象。同样,在java中对于String对象的操作都将产生一个新的对象,而Ruby则是操纵同一个对象,比如:

str="abc"

str.concat("cdf")

此时str就是"abccdf"。Ruby对String是怎么处理的呢?我们只谈谈c ruby中的实现,有兴趣的先看看这篇文章《管窥Ruby——对象基础》。在ruby.h中我们可以看到String对象的结构,Ruby中的对象(包括类也是对象)都是一个一个的struct,String也不能例外:

struct RString {

struct RBasic basic

long len

char *ptr

union {

long capa

VALUE shared

国内ruby程序员比较少。在国外很火。国内有些公司招聘有经验的ruby程序员,薪水很有竞争力。

但是,以我的亲身经历告诉你。学会学好ruby,绝对值得!

有些职位要求会一门脚本语言:python/ruby/perl

对于一个java,c++程序员,会ruby/python是一件很重要的事情。

因为很多繁琐的工作用java,c++做很麻烦。用脚本语言非常快。

同时ruby中的很多概念和语言特性对你学习其他语言非常有帮助。

学习ruby吧!你会喜欢上它的!