admin 发表于 2014-3-23 06:38:56

SketchUp Ruby二次开发第一章 Ruby 字符串 1.4

1.4字符串strings

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

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

字符串基础操作
Ruby提供了一些方式来操作字符串,其中两个常用的操作符是+和*,他们是非常容易理解的,+操作符是将两个字符串连接到一起:
"Hello," + " world" → Hello, world
*操作符是重复字符串的次数:
"Hello!" * 3 → Hello!Hello!Hello!

子字符串和字符串取值
在编程中一个常用的操作就是通过字符串的位置来获取字符。字符串的位置我们称为索引(index),索引的值是从0到字符的个数减1。

一组临近的字符在字符串中称为子字符串,我们可以通过索引的范围来访问的子字符串。我们有两种方式来表示索引的范围。
第一种方式是start..end,表示从start到end的索引值,包括end。
第二种方式start...end,表示从start到end的索引值,不包括end。
通过下面的例子来理解这两种范围的不同:
.0...4      代表范围为
.0..4       代表范围为
.-5..-3   代表范围为 [–5, –4, –3]
.   'a'...'e' 代表范围为 ['a', 'b', 'c', 'd']
.'a'..'e'   代表范围为 ['a', 'b', 'c', 'd', 'e']

在Ruby控制台中输入下面的代码
"HelloWorld"
"HelloWorld"
"HelloWorld"
"HelloWorld"
返回结果依次是:hel,he,ello,ell

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

下面的命令展示了如何使用负数来获取子字符串;
"HelloWorld"[-10..-6]
"HelloWorld"[-3...-1]
打印结果依次是:Hello,rl

我们还可以使用另外一种获取字符串的方法,形式为:
index代表索引的位置,length代表索引的长度也就是个数。在命令行中尝试下面的操作:
"HelloWorld"
"HelloWorld"
"HelloWorld"[-5, 5]
打印结果依次是lowo,Hello,World

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

下面的表格列出了一些字符串的方法,想要产看更多的字符串方法可以访问:http://www.ruby-doc.org/core/classes/String.html

打印字符串
Ruby提供了3中在控制台中打印字符串的方法:puts,print,printf。我们的教程中主要都是使用puts,下面的例子展示了puts的使用:
puts "Number of characters in Hello: " + "Hello".length.to_s
打印结果:Number of characters in Hello: 5

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

Arch东 发表于 2014-4-14 07:10:30

真希望积分能越来越多啊

syomg 发表于 2014-7-31 20:00:10

謝謝分享!真是優質~SU的專家

joyme 发表于 2015-6-25 01:30:56

楼主辛苦谢谢分享

wngxb 发表于 2015-8-18 15:44:32

狠人啊,膜拜,必须的
页: [1]
查看完整版本: SketchUp Ruby二次开发第一章 Ruby 字符串 1.4