随笔分类 -  ruby

摘要:以下是2种表达方式一样。if expression codeendif expression then #推荐这种形式 codeendexpression的值不是false或nil,则code块将被执行。需要注意:1)围绕expressions的圆括号是可选的(而且通常都不用),ruby使用换行符、分号或者关键字then对条件表达式和后续的内容进行分隔 2) 必须以end 作为结束。例子if data #if array exist data << x #append x to dataelse data = [x] #create ... 阅读全文
posted @ 2013-07-01 12:00 scott_h 阅读(262) 评论(0) 推荐(0) 编辑
摘要:4.6.9 范围 Flip-Flops: ..和.....和... 操作符不是基于方法的,无法重定义。(优先级比较低)x+1 .. x*x #可以认为是x+1 至 x*x 的范围因为操作符的值是一个Range对象, 下面3种表达方式都是一样的1) x..y2)Range.new(x,y)3) Range.new(x,y,true) 表达式 Flip-Flops的值可以是ture/false布尔值..与...的区别:当..filp-flops为true时,它返回true,并检验它的右侧表达式以决定是否将其内部状态状态设置回false对于...filp-flops,则要等到下次求值的时候,才会.. 阅读全文
posted @ 2013-06-30 19:33 scott_h 阅读(237) 评论(0) 推荐(0) 编辑
摘要:4.6 操作符了解优先级很重要位移操作符(0b1011) "10110" 11 > 2 # ==> "101" 11 1000| 二进制数,相同 0为0,相同1为1, 不同为1 # 0b1010 | 0b1100 => 1110~ 二进制数, 1变0, 0 变1 # 0b1010 & 0b1100 => 110^ 异或, 2个操作二进制数对应的位中,仅只有一个为1,才是14.6.6 比较操作符 >、 >=、 a b #若a>b ,则返回+1 或 大于0的值; 若a<b ,则返回0 或 小于0的值; 阅读全文
posted @ 2013-06-28 21:01 scott_h 阅读(207) 评论(0) 推荐(0) 编辑
摘要:对属性和数组元素的赋值o.m + = 1 ===》o.m = (o.m()+ 1) # 对 o.m()这个方法的结果+1对数组元素的赋值也是通过 方法调用来完成。0.[] = 1 ===>o.[] = o.[] +1 #对o实例对象的[]方法,的结果+1如果一个对象o定义了一个接受2个参数的、名为[]=的方法o.[x] = y ===》 那么 o.[] = (x, y)如果一个对象具有一个接受三个参数的、名为[]=的方法,那么方括号中的值,会被当作索引o.[x,y] = z ===>那么 o.[] = (x, y, z)------------分割线---------------- 阅读全文
posted @ 2013-06-26 22:34 scott_h 阅读(218) 评论(0) 推荐(0) 编辑
摘要:安装完 ruby ri irb ruby-devel1. 先来个简单的,写个helloworld 给新手们 (terminal中,# 代表root权限,$ 代表用户权限, 前面的就不写了。)# vim hello.rbputs "hello world"检查下语法# ruby -c hello.rb编译 # ruby hello.rb结果:hello world2.好了开始说点有营养的了创建2个文件,如下main.rb 1 #文件名main.rb 2 3 load "Ambiguous.rb" 4 5 newInstance = Ambiguous.ne 阅读全文
posted @ 2013-06-26 14:48 scott_h 阅读(327) 评论(0) 推荐(0) 编辑