使用“CoffeeScript - 加速JavaScript开发”进行练习,我正在尝试编写此函数而不重复:
doAndRepeatUntil = (f, pred) ->
f()
f() until pred()
如何在不调用f()
两次的情况下编写此函数?
答案 0 :(得分:1)
在我看来,你写它的方式是首选。为了避免两次调用f
,可以写一下:
doAndRepeatUntil = (f, pred) ->
loop
f()
break if pred()
但我认为它不太可读和优雅(相当于使用while (true)
)。