本博客所有内容是原创,未经书面许可,严禁任何形式的转载。
http://blog.csdn.net/u010255642
在haskell中可以使用if条件语句,和其它语言一样,但是else部分必须有,不能省略,同时,因为if系列语句是一个表达式,必须有返回值。
我们定义一下自己的求绝对值的函数,将函数定义在mytest.hs中
myabs x = if x>0
then x
else -x
然后,加载并运行
*Main> :l f:\pro\mytest.hs
[1 of 1] Compiling Main ( F:\pro\mytest.hs, interpreted )
Ok, modules loaded: Main.
*Main> myabs 11
11*Main> myabs (-11)
11
*Main> myabs (-12)
12
*Main>
我们将myabs函数改一下,将myabs改成Myabs
Myabs x = if x>0
then x
else -x
*Main> :r
[1 of 1] Compiling Main ( F:\pro\mytest.hs, interpreted )
F:\pro\mytest.hs:1:1: Not in scope: data constructor `Myabs'
Failed, modules loaded: none.
Prelude>
提示加载失败,函数不能以大写开头
函数也可以没有参数,直接返回一个值 ,下面这个函数就类似于字符串的定义
mystr="hello,haskell"
我们重新加载一下
*Main> :r
[1 of 1] Compiling Main ( F:\pro\mytest.hs, interpreted )
Ok, modules loaded: Main.
*Main> mystr
"hello,haskell"
*Main>