複雑に見えない設計上の問題を念頭に置いていますが、それを解決する方法を自分で見つけることができません。可能な限りDRYの原則に従いたいと思います。
私は2つの機能を持っています。1 つはアルゴリズムの基本バージョンで、もう 1 つは並列プログラミングによる改善です。それらは 2 つあり、私の目的は、「並列」などの追加パラメーターを使用して、そのうちの 1 つだけを記述することです。ここに疑似コードがあります。
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の初心者なので、関数型プログラミングが違いを生むかどうかはわかりません.