Coffeescript 干咖啡脚本函数
在“CoffeeScript-加速JavaScript开发”的练习中,我试图不重复地编写此函数:Coffeescript 干咖啡脚本函数,coffeescript,dry,Coffeescript,Dry,在“CoffeeScript-加速JavaScript开发”的练习中,我试图不重复地编写此函数: doAndRepeatUntil = (f, pred) -> f() f() until pred() 我如何编写这个函数而不调用f()两次呢?在我看来,您编写它的方式是首选的方式。要避免两次调用f,可以编写: doAndRepeatUntil = (f, pred) -> loop f() break if pred() 但我认为它的可读性和优雅性较
doAndRepeatUntil = (f, pred) ->
f()
f() until pred()
我如何编写这个函数而不调用
f()
两次呢?在我看来,您编写它的方式是首选的方式。要避免两次调用f
,可以编写:
doAndRepeatUntil = (f, pred) ->
loop
f()
break if pred()
但我认为它的可读性和优雅性较差(相当于使用
而(true)
)。如果您在附录1.2下进行检查,您会发现您已经得到了练习要求的答案。目标只是将重复包含在函数中,而不是完全消除它。你是故意要多做一步吗?