underscore.js _.memoize() の動作例を教えてもらえますか?
できれば hashFunction を使用し、さらに好ましくは coffeescript を使用しますか?
これは、coffeescript の SICP からのかわいい変更カウント関数のわずかに変更されたバージョンです。
countChange = (amount)->
cc = (amount, kindsOfCoins)->
firstDenomination = (kindsOfCoins)->
switch kindsOfCoins
when 1 then 1
when 2 then 5
when 3 then 10
when 4 then 25
if amount is 0 then 1
else if amount < 0 or kindsOfCoins is 0 then 0
else
(cc amount, (kindsOfCoins - 1)) +
(cc (amount - firstDenomination(kindsOfCoins)), kindsOfCoins)
cc amount*100, 4
console.log "Ways to make change for $0.85: " + countChange(.85)
たとえば、アンダースコアの _.memoize() をどのように使用できますか?
よろしくお願いします!
ps ..また、関数がコード化された方法で穴を撃つことをためらわないでください..私はcoffeescriptに非常に慣れていないので、そのコードをより慣用的にするための助けも大歓迎です.