时间:2021-05-23
1、String对象定义
String对象的定义可以使用""和'',对于单纯的字符串,推荐使用''进行定义,效率比""高,""与''的区别在于,''内的字符串定义后就是最终形态,即使如\n换行符,也会原样输出,而""更像是一个表达式,解析器会针对其中的特殊字符进行处理,然后才会输出,如下示例代码:
复制代码 代码如下:
i = 100
s1 = 'The value of i variable is #{i}!\n'#The value of i variable is #{i}!\n [未输出变量i的值,并且不换行]
s2 = "The value of i variable is #{i}!\n"#The value of i variable is 100! [输出i变量的值,并且换行]
String还有另外一种定义方式,可以定义出具有格式的字符串,如下示例代码:
复制代码 代码如下:
s3 = <<OK_STR
The value
of i variable
is #{i}
OK_STR
输出:
复制代码 代码如下:
The value
of i variable
is 100
特殊的字符串,使用``定义的字符串,会被当作系统命令直接发送给操作系统执行,如下示例代码:
复制代码 代码如下:
puts `ruby -v`#输出:ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
puts `rails -v`#输出:Rails 3.2.8
2、String对象操作
Ruby中String对象的操作方法非常多,可以参考Ruby官方提供的API文档http://ruby-doc.org/core-2.0/String.html,这里总结点String在其他语言中不常见的操作方式,如下示例代码:
复制代码 代码如下:
x = 'Ho!'
y = 'Hello from '
z = 'Hello'
puts x*30#输出:Ho!Ho!Ho!
puts y+self.to_s#输出:Hello from main
puts z<<' '<<'world!'#输出:Hello world!
puts x.object_id#输出:19196800
puts (x*3).object_id#输出:19196600
puts y.object_id#输出:19196780
puts (y+self.to_s).object_id#输出:19196520
puts z.object_id#输出:19196760
puts (z<<' '<<'world!').object_id#输出:19196760
从上边代码可知,<<是String的append操作,返回的是原对象,+和*操作,返回的是新对象。
3、可以使用数组下标的方式操作字符串中的字符
复制代码 代码如下:
m = 'TaoBao'
#改变第二个字符a为o
m[1] = 'o'
puts m
#截取第4到第6个字符的子字符串
puts m[3..5]
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Ruby是纯面向对象的语言,所有项目似乎要Ruby中为一个对象。Ruby中的每个值是一个对象,即使是最原始的东西:字符串,数字甚至true和false。即使是一
在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示。简单的字符串文本括在单引号(单引号字符)。引号内的文本的字符串值
String对象的实现String对象是Java中使用最频繁的对象之一,所以Java公司也在不断的对String对象的实现进行优化,以便提升String对象的性
如果你从Ruby或者Python转型到Go,将会有很多语言差异需要学习,其中很多问题都是围绕处理string类型。下面是一些字符串的技巧,这些技巧解决了我在使用
这里来对Java中的String对象做一个稍微深入的了解。Java对象实现的演进String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地