我想到了一个看起来并不复杂的设计问题,但我自己找不到解决它的方法。我想尽可能地遵循DRY原则。
我有两个功能。一个是算法的基本版本,另一个是并行编程的改进。它们是两个,我的目标是只编写其中一个并带有附加参数,例如“并行”。这里是伪代码。
fun1 ()
loop for par1 times
do_work()
fun2 ()
loop for par1 times
run new thread
do_work()
目前我已经编码
if parallel == 0
fun1 ()
else
fun2 ()
我想要的是类似的东西
fun ()
loop for par1 times
run new thread if parallel > 0 #Ruby's syntax-like
do_work()
我想知道 Ruby 是否可以帮助我解决这个问题。我是 Ruby 的新手,所以我不确定它的函数式编程是否会有所作为。