RosettaCodeData/Task/Man-or-boy-test/Clipper/man-or-boy-test.clipper
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

25 lines
485 B
Text

Procedure Main()
Local k
For k := 0 to 20
? "A(", k, ", 1, -1, -1, 1, 0) =", A(k, 1, -1, -1, 1, 0)
Next
Return
Static Function A(k, x1, x2, x3, x4, x5)
Local ARetVal
Local B := {|| --k, ARetVal := A(k, B, x1, x2, x3, x4) }
If k <= 0
ARetVal := Evaluate(x4) + Evaluate(x5)
Else
B:Eval()
Endif
Return ARetVal
Static Function Evaluate(x)
Local xVal
If ValType(x) == "B"
xVal := x:Eval()
Else
xVal := x
Endif
Return xVal