#!/usr/bin/ruby

class Test {
    method a(k, x1, x2, x3, x4, x5) {
        func b { self.a(--k, b, x1, x2, x3, x4) };
        k <= 0 ? (x4.run + x5.run) : b();
    }
}

var obj = Test();
assert_eq(obj.a(10, {1}, {-1}, {-1}, {1}, {0}), -67);

say "** Test passed!";