2015-10-13 Ruby修炼之道(12) Ruby Backend 数组(Array)也是Ruby中表现一组数据的对象 数组的创建创建方式有一下几种:1.使用Array.newArray#new方法可带两个可选参数,第1个参数表示数组中得个数,第2个参数表示每个元素初始值。如果没有指定第2个参数,其元素的初始值为nil。如果不带参数则会创建一个空数组。 1234567891011#不带参数cary = Array.newp ary #=> []#带1个参数ary = Array.new(3)p ary #=> [nil, nil, nil]#带2个参数ary = Array.new(3, 5)p ary #=> [5, 5, 5]
2015-09-15 Ruby修炼之道(10) Ruby Backend 块*块(block)*,有时也称代码块,能与参数一起传递的多个处理的集合。像之前的each*,time*就是带块的方法。 123(1..5).each do |i| puts iend 上面代码中do和end之间的部分就是所谓的块。这样的方法称为“带块的方法”或“调用块”,其调用方式如下: 对象.方法名(参数列表) do |变量| 希望的处理 end 或者 对象.方法名(参数列表) { |变量| 希望的处理 }
2015-09-09 Ruby修炼之道(9) Ruby Backend 异常处理在Ruby中,抛出异常的信息格式如下: 文件名:行号:in 方法名:错误信息 (异常类名) from 文件名:行号:in 方法名 以from开头的行表示发生错位的位置。在Ruby中,使用begin ~ rescue ~ end语句来做异常处理,其语法如下: begin 可能会发生异常的处理 rescue 发生异常时的处理 end 12345begin 1 / 0rescue puts "has a exception" #=> has a exceptionend
2015-09-06 Ruby修炼之道(8) Ruby Backend 运算符以下两种运算符是等价的, op即代表操作运算符 value1 op= value2 value1 = value1 op value2 利用运算符**||**的特性,可以简化相关的赋值代码,如下是等价的 赋值方式11234name = "Ruby"if var #当var不是nil或false时 name = varend 赋值方式21name = var || "Ruby"
2015-09-01 Ruby修炼之道(7) Ruby Backend 模块Ruby中的类是表现事物的属性和行为,那么模块呢?,在Ruby中模块表现的只是事物的行为。 模块与类的区别于下: 模块不能拥有实例 模块不能被继承 如何访问模块内的方法?有两种方式可以访问 1.使用模块名.方法名的形式来直接调用模块中定义的方法。 1Math.sqrt(4) #=> 2.0
2015-08-25 Ruby修炼之道(6) Ruby Backend Ruby的类和其他面向对象语言一样,Ruby的类也表示对象的种类。通过class方法可以知道某个对象属于哪个类。 12"hello".class #=> String1.class #=> Fixnum 判断某个对象时候属于某个类时,可以使用**instance_of?**方法 12"hello".instance_of?(String) #=> true1.instance_of? Fixnum #=> true
2015-08-24 Ruby修炼之道(5) Ruby Backend 方法在Ruby中,调用方法时是可以省略()的 12>> print("Hello world") #=>Hello world>> print "Hello world" #=>Hello world 带块的方法带块的方法如time,each方法,其语法如下: 对象.方法名(参数,...) do |变量1,...| 块内容 end Ruby中方法可归为3类:
2015-08-17 Ruby修炼之道(4) Ruby Backend 循环对于任何一种程序设计语言,都有循环处理的方法,Ruby也一样,但是在Ruby中有两种实现循环的方法。 使用循环语句,即利用Ruby提供的现有循环语句 使用方法实现循环,其具体做法为,将块传给方法,然后在块里面写上需要循环的处理。 在Ruby中,有6种循环语句或方法:
2015-08-14 Ruby修炼之道(3) Ruby Backend 在Ruby中任何表现数据的基本单位都称为对象(object), 而Ruby的类(class)表示的就是这些对象的种类。 变量和其他面向对象语言一样,Ruby也有多种类型的变量,但是在Ruby中,变量的类型是由变量的命名方式决定的。 局部变量(local variable)以英文字母或者_开头 12words = "Hello Ruby"_words = "Hello Ruby"