1.4字符串Strings

在编程中数值是非常重要的,但是我们也会经常需要处理文本的。在我们阅读文件的字符串,定义标签,或者为新的SketchUp工具添加提示,在我自己写脚本的时候,我会经常使用显示信息在代码的执行过程中。

字符串包括一个或者很多的字符,包括字母,数字,标点符号和特殊字符。在Ruby中一个字符串可以使用双引号或者单引号来宝石,如果是使用双引号的话,Ruby会忽略转义字符(如 \t 是Tab,\n是换行),而是转义显示他们,使用单引号好的情况下会忽略转义字符,例如:”Line1\nLine2″会打印两行,因为\n会转义成换行。’Line1\nLine2’就会直接打印Line1\nLine2,会忽略转义字符。

在编程中一个常用的操作就是通过字符串的位置来获取字符。字符串的位置我们称为索引(index),索引的值是从0到字符的个数减1。一组临近的字符在字符串中称为子字符串,我们可以通过索引的范围来访问的子字符串。我们有两种方式来表示索引的范围。

第一种方式是start..end,表示从start到end的索引值,包括end。

第二种方式start…end,表示从start到end的索引值,不包括end。

通过下面的例子来理解这两种范围的不同:

返回结果依次是:helheelloell

如果索引的数是整数,索引的位置就是从左开始的,如果是负数的话就是从右边开始的,具体的索引值可以参考下图:

下面的命令展示了如何使用负数来获取子字符串;

我们还可以使用另外一种获取字符串的方法,形式为[index length]:

index代表索引的位置,length代表索引的长度也就是个数。在命令行中尝试下面的操作:

进阶的操作方式是通过字符串后面加上.后面是操作的方法,方法我们在后面的章节会讲到,在这里我们仅仅相信成这是一个特殊的操作符号就可以了。例如length和size都会返回字符串的字符个数,下面的例子展示这两种操作方法,我们可以在Ruby控制台中输入下面代码:

Ruby提供了3中在控制台中打印字符串的方法:putsprintprintf。我们的教程中主要都是使用puts下面的例子展示了puts的使用:

“Hello”.length返回整型数值5,在Ruby中,不会总是自动将数值转换成字符串的,在这里我们使用to_s方法,将”Hello”.length转化成字符串5.