ruby初级语法知识
''与""的区别:''处理的少,""处理的多,""可以加入#{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}
- ruby初级语法知识
- ruby初级入门知识(绝对经典,非常值得看)
- ruby初级语法
- Ruby基础知识-Ruby的基本语法
- ruby语法摘要
- Python的初级语法
- Oracle的初级知识
- hive的数据定义相关语法知识
- python-0.基本语法知识
- Ruby语法学习
- 电路板初级知识
- 关于Ruby常用语法案例累积
- JavaSE复习之一 基础知识:Java的基础语法 补充(6)
- C#基础部分之语法和基础知识
- SQL的详细语法介绍——对于学习数据库最基础知识一
- [转]php初级教程(二)php学习需要的资料、B/S基础知识
- C#高级语法基础知识总结4——运算符
- php基础语法知识笔记(二)
- C#语法小知识(二十二)集合Collection
- python基本语法知识