当前位置: 首页 > 编程笔记 >

Ruby中的String对象学习笔记

宫元徽
2023-03-14
本文向大家介绍Ruby中的String对象学习笔记,包括了Ruby中的String对象学习笔记的使用技巧和注意事项,需要的朋友参考一下

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]

 类似资料:
  • 本文向大家介绍Ruby中的Range对象学习笔记,包括了Ruby中的Range对象学习笔记的使用技巧和注意事项,需要的朋友参考一下 Range是范围对象的类,定义的时候可以使用范围操作符“..”或者“...”,“..”生成的范围对象包括起点和终点,“...”生成的范围对象不包括起点和终点,范围是由是一序列有顺序、有规律的元素对象组成,任何有顺序,有规律的一组对象,都可以用Range对象来定义,如数

  • 本文向大家介绍Ruby学习笔记一,包括了Ruby学习笔记一的使用技巧和注意事项,需要的朋友参考一下 笔记: Ruby会默认返回方法中的最后一个值。 如果需要返回多个值,可以用数组来实现。 可以通过强制声明return来返回值。 基础的输出方法是用puts(输出一行),print(直接打印)。 基础的输入方法是gets(读入一行,包含行尾的'\n',可以用chomp方法消除)。 纯粹的现象对象语言,

  • 本文向大家介绍Javascript Object 对象学习笔记,包括了Javascript Object 对象学习笔记的使用技巧和注意事项,需要的朋友参考一下 构造函数 new Object() new Object(value) 参数 value     可选的参数,声明了要转换成Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.

  • 本文向大家介绍C++中的vector容器对象学习笔记,包括了C++中的vector容器对象学习笔记的使用技巧和注意事项,需要的朋友参考一下 C++中数组很坑,有没有类似Python中list的数据类型呢?类似的就是vector! vector 是同一种类型的对象的集合 ,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。 我们把 vector 称为

  • 本文向大家介绍Ruby数组(Array)学习笔记,包括了Ruby数组(Array)学习笔记的使用技巧和注意事项,需要的朋友参考一下 1、数组的定义 Ruby中的数组是动态数组,存储的数据不用限定类型,数组的长度是根据存储需要动态扩展,所以,在进行数据定义的时候,只用用最简单的方式new一个Array对象就可以了,可以使用以下几种方式: 2、数组元素的访问 数组对象访问是通过数组下标进行的,下标从0

  • 本文向大家介绍JavaScript学习笔记之JS对象,包括了JavaScript学习笔记之JS对象的使用技巧和注意事项,需要的朋友参考一下 默认对象   日期对象Date,   格式:日期对象名称=new Date([日期参数])   日期参数:   1.省略(最常用);   2.英文-数值格式:月 日,公元年 [时:分:秒]   如:today=new Date("October 1,2008