当我试图在这个莫扎特在线上运行这个阶乘功能时 complier
我得到了解析错误!
declare
fun {Fact N}
fun{Aux N Nmax FactNminus1}
if N>Nmax then nil
else (FactNminus1*N)|{Aux N+1 Nmax FactNminus1*N}
end
end
in
{Aux 1 N 1}
end
{Browse {Fact 4}}
我如何在线compiler上运行这段代码!
答案 0 :(得分:0)
您的代码是Oz 脚本。它可以在交互式Mozart IDE(Emacs)中使用。
在线编译器需要一个Oz 程序,即一个仿函数定义。试试这段代码:
functor
import
Application
System
define
fun {Fact N}
fun{Aux N Nmax FactNminus1}
if N > Nmax then nil
else (FactNminus1*N)|{Aux N+1 Nmax FactNminus1*N}
end
end
in
{Aux 1 N 1}
end
{System.show {Fact 4}}
{Application.exit 0}
end