03 2013 档案

ruby--循环
摘要:当使用while和until做语句修饰符时,有一点需要注意:如果被修饰的语句时一个begin/end块,那么不管布尔表达式的值是什么,块内的代码至少会执行一次。print "Hello\n" while falsebegin print "Goodbye\n"end while false 输出结果:Goodbye 阅读全文

posted @ 2013-03-28 18:31 tim_sheng 阅读(220) 评论(0) 推荐(0)

ruby--赋值
摘要:在老版本的Ruby中,赋值语句的返回值是设置该属性的方法的返回值。在Ruby1.8中,赋值语句的值总是参数的值而方法的返回值将被丢掉。class Test def val=(val) @val = val return 99 end endt = Test.newa = t.val=2a ->2 在老版本中,a将被赋值语句设置为99,而在Ruby1.8中,它的值为2.Ruby的赋值实际是以并行方式执行的,所以赋值语句右边的值不受赋值语句本身的影响。在左边的任意一个变量或者属性被赋值之前,右边的值按它们出现... 阅读全文

posted @ 2013-03-25 18:10 tim_sheng 阅读(2055) 评论(0) 推荐(0)

ruby--调用方法
摘要:def meth_three 100.times do |num| square = num*num return num, square if square>1000 end endmeth_three ->[32,1024]这种方法显示,如果你给return多个参数,方法会将它们以数组的形式返回。你可以使用并行赋值来收集返回值。 当你调用一个方法时,你可以分解一个数组,这样每个成员都被视为单独的参数。在数组参数(必须在所有普通参数的后面)前加一个星号可以完成这一点。 阅读全文

posted @ 2013-03-22 18:43 tim_sheng 阅读(357) 评论(0) 推荐(0)

ruby--定义一个方法
摘要:def aaa############endruby的方法体内是普通的Ruby表达式,你不能在方法体内定义非单件类或模块。如果你在一个方法内定义另一个方法,内部的方法只有在外部方法执行时才得到定义。方法的返回值是执行的最后一个表达式的值,或者return表达式显示返回的值如果你希望传入可变个数的参数、或者想用一个形参接收多个参数,在"普通"的参数名前放置一个星号(*)即可。def varargs(arg1,*rest) "Got #{arg1} and #{rest.join(',')}"endvarargs("one" 阅读全文

posted @ 2013-03-22 14:59 tim_sheng 阅读(1280) 评论(0) 推荐(0)

导航