我编写了一个非常基本的递归函数,但是当我尝试使用它时,Haskell给了我一个错误.
这是代码:
import Data.Char
import Test.QuickCheck
potencia :: Integer -> Integer -> Integer
potencia x 0 = 1
potencia x n = x*(potencia x (n-1))
Run Code Online (Sandbox Code Playgroud)
这是错误:
<interactive>:27:1-8: error:
Variable not in scope: potencia :: Integer -> Integer -> t
Run Code Online (Sandbox Code Playgroud)
如果我删除了libreries的导入,它不再给我错误,但我以后需要它们.我正在使用haskell平台的最新更新和emacs编辑器.谢谢.
我看到你在交互式shell中定义了你的功能.大多数Haskell的REPLs的阅读和eval指令线,由线,所以当你键入potencia :: Integer -> Integer -> Integer它被解释就在此刻,让编译器抱怨potencia缺乏执行.你应该:
:l(推荐)加载它:set +m和使用let语句来定义关于缩进的变量:{和围绕你的定义:};| 归档时间: |
|
| 查看次数: |
6539 次 |
| 最近记录: |