1
從一個練習中「的CoffeeScript - 加速JavaScript開發,」我正在努力寫不重複這樣的功能:DRY中的CoffeeScript功能
doAndRepeatUntil = (f, pred) ->
f()
f() until pred()
我怎麼能不寫調用f()
兩次這個功能呢?
從一個練習中「的CoffeeScript - 加速JavaScript開發,」我正在努力寫不重複這樣的功能:DRY中的CoffeeScript功能
doAndRepeatUntil = (f, pred) ->
f()
f() until pred()
我怎麼能不寫調用f()
兩次這個功能呢?
在我看來,你寫的方式是首選。爲了避免兩次調用f
一個可以寫:
doAndRepeatUntil = (f, pred) ->
loop
f()
break if pred()
但我認爲它的可讀性和優雅(相當於使用while (true)
)。
如果您查看附錄1.2,您會發現您已經有了練習所要求的答案。目的只是爲了控制一個函數中的重複,而不是完全根除它。你有意嘗試額外的步驟嗎? –