Ruby特殊語(yǔ)法概念解析
Ruby語(yǔ)言中有許多特殊的功能值得我們?nèi)ド钊氲难芯俊1热缒切┎煌谄渌幊陶Z(yǔ)言的語(yǔ)法等。在這里我們就會(huì)了解到一些Ruby特殊語(yǔ)法的相關(guān)概念。#t#
題目是找零錢(qián),假設(shè)我們需要找給別人39美元元的零錢(qián),
那么結(jié)果將會(huì)是(美元的硬幣有25,10,5,1這種):
用Ruby特殊語(yǔ)法來(lái)解決,只需要兩行即可,
- def make_change(amount,
 
coins = [])- coins.sort! { |x,y| y <=> x }
 - return coins.map!{|coin|
 - f = amount/coin; amount
 
%= coin;Array.new(f){coin}
}.flatten- end
 - p make_change(39,[10,1,5,25])
 
這里采用貪心算法,每次總是用***的硬幣去整除,然后將余下的錢(qián)用下一個(gè)硬幣進(jìn)行同樣運(yùn)算。
一句話Ruby特殊語(yǔ)法是我見(jiàn)到過(guò)最靈活敏捷的語(yǔ)言。















 
 
 
 
 
 
 