?
?
函數(shù)的概念:?
我們把事先編好的,能夠解決或者說處理某種情況的功能的集合叫做函數(shù)。不必在意概念,用得多了自然就明白。其實我們一直在使用的p,print就是函數(shù)的一種,下面介紹一個很有用的函數(shù),隨機函數(shù)rand():
rand(x)返回0-(xx-1)范圍內的隨機數(shù),例如:
p?rand(100)?
返回的數(shù)字在0-99范圍內。
我們也可以設計自己的函數(shù)以便增加我們需要的功能,更多的時候,我們大多數(shù)時間是在跟函數(shù)打交道。
函數(shù)的聲明:
函數(shù)的名字基本上和變量的名字有著相同的限制,例外的情況是,函數(shù)可以在名字的最后添加?或!符號,這種符號有著特殊的用處,以后會講到。
函數(shù)的聲明要用def..end語句,形如:
def?函數(shù)名字
語句
end
我們用rand函數(shù)來設計一個自己的函數(shù)bet():
def?bet
??if?rand(6)>3
?????return?"大"
??else
?????return?"小"
??end
end?
print?bet
?
這里的return表示函數(shù)返回的值,如果省略return也可以,但最好帶上,能夠使程序可讀性更好。
我們給bet函數(shù)增加參數(shù):
def?bet(x)
??if?rand(x)>3
?????return?"大"
??else
?????return?"小"
??end
end?
print?bet(7)?
還可以為參數(shù)設置默認值:
def?bet(x=7)
??if?rand(x)>3
?????return?"大"
??else
?????return?"小"
??end
end?
print?bet???#這和print?bet(7)一樣
?
函數(shù)可以有很多參數(shù):
def?bet(x,y,z)
if?rand(x)>3?and?rand(y)>3?and?rand(z)>3
return?"大"
else
return?"小"
end
end?
print?bet(7,6,10)
?
重定義函數(shù):
如果定義了兩次相同的函數(shù),則只有后面定義的函數(shù)有效,而先前的定義就無效了。
def?hello
return"?您好?"
end
def?hello
return"?晚安?"
end
p?hello?#=>"?晚安?"?
版權聲明:RUBY文檔中心的所有文章標明[原創(chuàng)]的均為本站作品,版權屬RUBY中文化計劃,若轉載請注明;標明[翻譯]的其外文版權歸原作者,譯文版權屬RUBY中文化計劃;標明[轉貼]的,若原作者感到侵犯了他的著作權,那么請及時跟主持人聯(lián)系,我們會盡快更正。
?