本文共 1242 字,大约阅读时间需要 4 分钟。
‘’与""的区别:''处理的少,""处理的多,""可以加入#{expression},如果expression是一个实例变量类变量或者是全局变量,{}可省略。 全局变量$开头,实例变量@开头,类变量@@开头 类名,模块名,常量以大写字母开头,用驼峰表示法写如class KaraokeSong @之后不能跟数字 实例变量用_把单词隔开 方法名可以以?!=字符结束 数组和散列表 数组中a=%{ant bee cat dog elk}访问a[0],a[1]... 用%可以省略''和逗号 散列表中a={'key1'=>'value1','key2'=>'value2','key3'=>'value3'} key必须唯一,访问方法:a['key1']->value1 控制结构: if ; while if expression action end while expression action end -----------<=> action if expression action while expression 正则表达式/.../: /a+b/--------1个或多个a后是b(并不是以b结尾) /a*b/-----------0个或多个a后是b(并不是以b结尾) \s匹配空白符(如空格符,制表符,回车等等)#space \d匹配任何数字 #digital \w匹配会出现在一个词内的任何字符 #word . 匹配几乎任意字符 使用regexp: =~来得出是否匹配 例:if line=~/.../ ... sub 和 gsub(substitution)替换命令,用法: line.sub(/perl/,'ruby')用ruby替换第一个'perl' line.gsub(/perl/,'ruby')用ruby替换所有的'perl' #Block和迭代器 单行block用{},多行用do..end 用法: def call_block puts "start of method" yield yield puts "End of method" end call_blcok {puts "in the block"} 输出:start of method in the block in the block End of method yield还可以调用参数传递给block, def call_block yield("hello",99) end call_block {|str, num| action use the arguments} block实现迭代器(iterator) 数组.each {|arg| ...} 5.times {action} 3.upto(6) {action} 本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/63951,如需转载请自行联系原作者