Chinaunix首页 | 论坛 | 博客
  • 博客访问: 51048
  • 博文数量: 15
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 177
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-12 15:44
文章分类
文章存档

2011年(15)

我的朋友

分类:

2011-01-12 15:50:31

之前在用Ruby on Rails做开发,发现多基本的语法概念都比较模糊,所以回头来从基础学习,希望能够劣实基础。有什么不足的地方,希望大家多多指教!

首先是一些简单的命令

ruby -v查看版本号

ruby -e ‘print “hello word”’将print “hello word”作为一个ruby程序运行并输出结果  #printf print  puts功能基本相似s

Exit 退出环境

以下是一些基本语法

1,注释

    在Ruby中单行注释使用#,多行注释使用=begin和=end,注释放置在begin与end之间。如下所示:

#Ruby_pratice_注释.rb  从#开始到行尾单行注释

puts 3/5
puts 3/5.0

printf "Number: %4.3f, String: %s", 7.8, "hi!"
=begin
 puts 6/5
 puts 6/5.0
 多行注释可以用=begin和=end;
 这也是Ruby的内嵌文档Rdoc注释,类似javadoc
 可以用命令ri从源文件生产文档
=end

03 puts 3/5
04   
05 =begin
06     puts 3/5
07     多行注释可以用=begin和=end
08     这也是Ruby的内嵌文档Rdoc注释,类似javadoc
09     可以用命令ri从源文件生产文档
10 =end

 2,标识名和变量

  Ruby的标识名区分大小写。关键字,不能用来当作常量,变量,方法,类或模块的名字。
  Ruby使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;全局变量用美元符作为前缀 $;而实例变量用 @ 开头;类变量用 @@ 开头;类名、模块名和常量应该用大写字母开头。

3,数据类型

  Ruby 数据类型有数字,字符串,数组,哈希表,区间,正则表达式。

  数字类型有整数型,浮点型。其中浮点型数据小数点后必须加数字。

  字符串型是在‘’或者“”之间。

  数组的下标也是从0开始,但不同的是Ruby数组的元素可以是不同类型的。如:[1,2.2,"hello",[1,2,3]]。

  区间:1..4 表示1,2,3,4;1...4表示1,2,3。

4,Ruby基本的赋值用“=”来完成。

  如a=1,b=1+1   结果为:a=1,b=2

  ==比较两个值是否相等,返回true,false                                如:a=1; b=1.0; a==b #true

  eql?比较两个对象的值、类型是否相等,返回true,false             如:a=1; b=1.0; a.eql?(b) #flase(a为整数型,b为浮点型)

  equal?比较两个对象在内存中地址是否相同,返回true,false       如:a=1.0; b=1.0; a.equal?(b) #flase   a=1.0; b=a ; a.equal?(b) # true

  <=> 比较两个对象的大小,大于、等于、小于 分别返回1,0,-1

  === 右边的对象是否在左边区间之内,返回 true, flase

  =~(匹配)用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回 nil

  !~ (不匹配) 断言不符合一个正则表达式,返回 true, flase

  <= < > >= 小于等于 小于 大于 大于等于

5,循环

  while,for,case,break等同C、C#、Java大同小异,下面是一些比较特别的:times , upto , downto , each ,step
  3.times { print "Hi!" } #Hi!Hi!Hi!
  1.upto(9) {|i| print i if i<7 } #123456
  9.downto(1){|i| print i if i<7 } #654321
  (1..9).each {|i| print i if i<7} #123456
  0.step(11,3) {|i| print i } #0369

6,异常与线程

  与C#、Java中的try…catch…finally…throw 相对应, Ruby中用begin/end …rescue…ensure … raise 来处理异常,retry可以用在rescue中。可以只用rescue或是ensure,两者都使用时,rescue必须在ensure前。

阅读(1337) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:Ruby语法学习要点记录-从零开始

给主人留下些什么吧!~~

http802014-02-23 10:15:22

Ruby学习入门教程总结

最近工作项目需要,然后学习Ruby。之前都做PYTHON和PHP多点,现在学习RUBY感觉也还可以,有前面的基础上手也比较快。
在学习过程中,顺便也总结了几个Ruby学习网站和资料,以供大家学习和参考,这仅是我个人的一点想法。
需要的朋友请拿去!
------------------------------------------------------------------------------------
Ruby官方中文网(推荐):
https://www.ruby-lang.org/zh_cn/

国内非常不错的Ruby学习教程网站(推荐):
http://www.yiibai.com/ruby

Ruby API (推荐):
http://ruby-doc.com/

Ruby国外知名论坛:
https://www.ruby-forum.com/

Ruby+Eclipse集成:
http://www.ibm.com/developerworks/cn/opensource/os-rubyeclipse/

Rai