我以前曾有一个梦想,就是我的爹是李嘉诚…,那个…,不是啦,我的梦想是ruby像ObjC,或是现在的swift那样给方法提供命名参数.
之前的ruby只能用hash来模拟这个行为,不过你没法很容易的定义默认值了…
在 Ruby 2.0之后,终于有了命名参数这个特性,你可以轻松的设置每个参数的默认值啦:
def foo(name:,size:) end #这样调用 foo(name:"hopy",size:121)
你也可以设置默认值:
def foo(name:"noname",size:0) end #以下调用方式皆可 foo #name="noname",size=0 foo(name:"hopy") #name="hopy",size=0 foo(size:11) #name="nonane",size=11 #以下调用皆错误,你必须提供参数名! foo("hopy") foo("hopy",11)