ruby--定义一个方法

def aaa
####
####
####
end

ruby的方法体内是普通的Ruby表达式,你不能在方法体内定义非单件类或模块。如果你在一个方法内定义另一个方法,内部的方法只有在外部方法执行时才得到定义。方法的返回值是执行的最后一个表达式的值,或者return表达式显示返回的值

 

如果你希望传入可变个数的参数、或者想用一个形参接收多个参数,在"普通"的参数名前放置一个星号(*)即可。

def varargs(arg1,*rest)
    "Got #{arg1} and #{rest.join(',')}"
end

varargs("one")                                                ->"Got one and "
varargs("one","two")                                      ->"Got one and two"
varargs("one","two","three")                          ->"Got one and two,three"

  在这个示例中,和往常一样第一个参数赋值给方法的第一个形参。不过,第二个形参的前缀为星号,因此所有剩余的参数被装入到一个新的Array中,然后赋值给第二个形参。

 

posted on 2013-03-22 14:59  tim_sheng  阅读(1263)  评论(0编辑  收藏  举报

导航