首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

娃子鸭学Ruby-11、文本(二)

2012-12-19 
娃娃鸭学Ruby-11、文本(二)2、字符字面量字符前面加一个问号的方式表示单个字符构成的字面量,不需要使用任何

娃娃鸭学Ruby-11、文本(二)
2、字符字面量
字符前面加一个问号的方式表示单个字符构成的字面量,不需要使用任何形式的引号
?A
?"
??
Ruby 1.8 
  ?A=65
Ruby 1.9
  字符是长度为1的字符串
因此或以Unicode码点

3、字符串操作符

planet="Earth"
"Hello"+" "+planet # Hello Earth
同Java区别,不会自动转换

在Ruby中,采用字符串内插操作比采用+操作符进行连接更简单。
"Hello planet ##{planet_number}"
<<
<<操作符会将第二个参数添加到第一个参数后面。
greeting="Hello"
greeting<<" "<<"World"
puts greeting   # Ouputs "Hello World"
<<操作符也不会进行转换
alphabet="A"
alphabet<<?B   #"AB"
alphabet<<67   # "ABC"
alphabet<<256  #error

*
*操作符右侧是一个整数,返回一个字符串,右侧操作数为指定次数
ellipsis='.'*3   # 值 '...'

注意:
a=0
"#{a=a+1} " * 3 # Return "1 1 1 ",not "1 2 3 "

==和!=
<,<=,>,>=
字符比较是大小写敏感

4、访问字符串和子字符串
索引操作符[]
s='hello';  #Ruby 1.8  返回字符
s[0]  # h
s[s.length-1] # o
s[-1] # o
s[-2] # 后面一个l
s[-s.length]# s[0]
s[s.length]#nil 没有字符
字符串越界,不抛出异常,只是nil

Ruby 1.9返回的是字符串
s='hello'
s[0] # 'h'
s[s.length-1] #'o'
s[-1] # 'o'
s[-2] # 'l'

Ruby 1.8 右侧可以是一个Ascii字符编码值
Ruby 1.9右侧必须是一个字符串
s[0]=?H
s[-1]=?o
s[s.length]=?!
多个字符串,会增加的。
s="hello"
s[-1]="" # "hell "
s[-1]="p!" # "help!"

s="hello"
s[0,2]  #'he'
s[-1,1] # "o"
s[0,0] # " "
s[0,10] #"hello"
s[s.length+1,1]#""
s[0,-1] #nil

热点排行