Ruby字符串

在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示。简单的字符串文本括在单引号中,如

'This is a simple Ruby string literal'

如果需要内置一个单引号,单引号的字符串文字,需要在单引号前面加一个反斜杠,Ruby解释器才不认为遇到了终止字符串,如:

'Won\'t you read O\'Reilly\'s book?'

打印结果为:

Won't you read O'Reilly's book?

反斜杠也可以转义另一个反斜杠,这样第二个反斜杠本身不被解释为转义字符
以下是字符串相关功能:

表达式替换

表达式替换是嵌入任何Ruby表达式的值转换成字符串使用的一种手段,可用#{and}替换,如

x,y,z = 12,36,72
puts "The value of x is #{x}."
puts "The sub of x and y is #{x + y}."
puts "The average was #{ (x + y + z)/3 }."

输出如下:

The value of x is 12.
The sub of x and y is 48.
The average was 40.

字符编码方式:

Ruby的默认字符集是ASCll码,字符可能会由单字节表示。如果使用UTF-8或另一种现代字符集,字符可能会以四个字节表示。可以更改字符集使用$KCODE在程序的开始行,像这样:

$KCODE = 'u'

以下是$KCODE可能的值:

code 描述
a ASCLL (default)
e EUC
n None(same ad ASCll)
u UTF-8

字符串的内置方法

我们需要有一个String对象实例调用一个String方法。以下的方法来创建String对象的一个实例:

new [String.new(str="")]

这将返回一个新的字符串对象,其中包含str的一个副本。

myStr = String.new("THIS IS TEST")
foo = myStr.downcase
puts "#{foo}"

这将产生以下结果

this is test
posted @ 2016-08-14 11:22  Silktree  阅读(436)  评论(0编辑  收藏  举报