CoffeeScript函数中的DRY

时间:2014-05-21 13:21:46

标签: coffeescript dry

使用“CoffeeScript - 加速JavaScript开发”进行练习,我正在尝试编写此函数而不重复:

doAndRepeatUntil = (f, pred) ->
  f() 
  f() until pred()

如何在不调用f()两次的情况下编写此函数?

1 个答案:

答案 0 :(得分:1)

在我看来,你写它的方式是首选。为了避免两次调用f,可以写一下:

doAndRepeatUntil = (f, pred) ->
  loop
    f()
    break if pred()

但我认为它不太可读和优雅(相当于使用while (true))。