年度末になると忙しくなる人種に巻き込まれてしまい、Ruby と Perl を使って遊ぶのは数週間ぶりのことです。中断していた作業をチェックアウトして眺めていたのですが、どうも気分が乗らないので、リハビリを兼ねて LispUser.net : 継続でバックトラック の scheme のバックトラックの例題を Ruby に直訳してみました。 if 文の条件式を満たす x、y、z の組み合わせを探す問題です。探索範囲は 0 から 100 の整数。それぞれの値で条件が成り立つかどうかをチェックし、成り立たないときは、fail 関数を呼ぶことでバックトラックを生じさせて、次の数値のチェックを続けます。 require 'trial' def solve x = Trial.in_range(0, 100) y = Trial.in_range(0, 100) z = Trial.in_range(0