Ruby特殊語(yǔ)法概念解析
作者:佚名
我們?cè)谶@篇文章中以一個(gè)例子來(lái)為大家講解Ruby特殊語(yǔ)法的具體用法,方便大家理解。希望可以幫助大家提高對(duì)Ruby語(yǔ)言的理解程度。
Ruby語(yǔ)言中有許多特殊的功能值得我們?nèi)ド钊氲难芯?。比如那些不同于其他編程語(yǔ)言的語(yǔ)法等。在這里我們就會(huì)了解到一些Ruby特殊語(yǔ)法的相關(guān)概念。#t#
題目是找零錢,假設(shè)我們需要找給別人39美元元的零錢,
那么結(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])
這里采用貪心算法,每次總是用***的硬幣去整除,然后將余下的錢用下一個(gè)硬幣進(jìn)行同樣運(yùn)算。
一句話Ruby特殊語(yǔ)法是我見(jiàn)到過(guò)最靈活敏捷的語(yǔ)言。
責(zé)任編輯:曹凱
來(lái)源:
博客園