所以,我是一位经验丰富的OOP程序员(主要是C++),刚刚开始使用函数式编程.根据我的理解,在一个纯粹的功能范例中,函数不应该有条件,应该使用currying尽可能地分解.有人可以为我提供以下示例的"纯"功能版本吗?最好使用将成为功能范例一部分的每一种严格技术:
let rec greatestCommonFactor a b =
if a = 0 then b
elif a < b then greatestCommonFactor a (b - a)
else greatestCommonFactor (a - b) b
Run Code Online (Sandbox Code Playgroud)