应用非过程和非对象错误

时间:2012-08-16 18:55:56

标签: fibonacci oz

declare
fun {Factorial N}
   local FactorialAux in
      fun {FactorialAux N Product}
     if N == 0 then Product
     else {FactorialAux N-1 {fibo N}|Product}
     end
      end
      {FactorialAux N nil}
   end
end

fun {fibo N}
   if N==1 then 1
   else if N==2 then 1
    else {fibo N-1}+{fibo N-2}
    end
   end
end

{Browse {Factorial 3}}

我的代码打印出斐波那契数字列表。如果N = 4则打印出前四个斐波那契数字列表 这是我的代码,其中我收到了问题标题中所述的错误。 感谢您提前提供任何帮助

1 个答案:

答案 0 :(得分:2)

变量必须以Oz中的大写字母开头。过程和函数名称始终是变量,因此它们也必须以大写字母开头。

您的函数fibo应该被称为Fibo。当然,所有拨打fibo的电话也必须修复。