标签:ruby
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/)
标签:ruby
原文地址:http://blog.csdn.net/u010640235/article/details/44981201