注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 linux服务器被黑了
 帮助

ruby初级语法知识


2008-03-03 15:33:02
 标签:知识 初级 语法   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fsjoy.blog.51cto.com/318484/63951
‘’与""的区别:''处理的少,""处理的多,""可以加入#{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}

本文出自 “李骥平” 博客,请务必保留此出处http://fsjoy.blog.51cto.com/318484/63951



上一篇 我的桌面秀(ubuntu 2)  下一篇 ruby的类



    文章评论
 
2008-03-03 15:40:21
学习了。。。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: