您的位置:首页 > 其它

文章标题

2015-04-10 16:21 197 查看
1、字符串

ruby中的字符串可以使用单引号,也可以使用双引号,但对单引号的支持比较少,对双引号的支持介绍两个:

(1)支持转义字符 比如: \n等

(2)字符串内的表达式内插,#{表达式}

例如:def say_goodnight(name)

Result = “Good night, #{name}”

end

2、数组

a = [ 1 , ‘cat’ , 3.14]

b = %W(cat dog elk)

通过索引访问,索引从零开始

3、散列

inst_section={ ‘cello’ => ‘string’ , ‘clarinet’ => ‘woodwind’}

或inst_section={ :cello => ‘string’ , :clarinet => ‘woodwind’}

:cello 表示一个标志

4、正则表达式

/Perl|Python/: 由连个斜杠界定,中间是模式

比较一个字符串是否满足模式:=~,如

if line =~ /Perl|Python/

Puts “#{line}”

end

此外还有一些使用到正则表达式的函数:

line.sub(/Perl/ , ‘Ruby’) #用‘Ruby’替换第一个‘Perl’

line.gsub(/Python/,’Ruby’) #用‘Ruby’替换所有的‘python’

5、Block和迭代器

{puts “hello”} #单行block

do

……

end #多行block

Block的使用可以与方法的调用相关联,例如:

def call_block

yield(‘hello” , 99)

end

call_block {|str,num| puts str}

解析:yield 语句,可以一次货多次调用相关联的block,yield中的参数与block中的| str, num | 相对应

也可以使用迭代器,如:

(‘a’..’e’).each {|char| puts char}

6、I/O

(1)使用gets,如 line = gets ; puts line

(2)使用ARGF,ARGF是迭代器和预定义对象,使用如:

ARGF.each {|line| puts line if line =~ /Ruby/}或

print ARGF.grep(/Ruby/)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: