什么是Haskell
Haskell是一门函数式编程语言,与面向对象编程语言不同,它是面向函数来完成程序设计的。(废话)
起步
它的所有操作符和C#基本没有什么不同,除了^运算符,其实这个也比较常见,它是幂运算符。
调用函数
前缀,中缀,后缀
在此之前,我们先搞清楚前缀运算符,中缀运算符,和后缀运算符的概念。其实概念也一目了然,运算符在数据前面则称为前缀运算符,以此类推。
举一个典型例子,静态语言中的所有函数几乎都是前缀运算符:
printf("Hello Wolrd!");
当然最典型的前缀运算符当然是++了:
int i = 1;
++i;//2
中缀运算符在静态语言中一般是二元运算符,如+
-
*
/
那么后缀运算符则是:
int i = 2;
i--;//1
Haskell的两种函数调用方法
下面两种形式的效果是一样的,都代表5除以1,不过却可以有不同的表达方式
1.前缀
div 5 1
2.中缀
5 `div` 1
相比于第一种,第二种更能一眼看出谁是除数,谁是被除数(真的么?= =)
定义函数
相比于其他,Haskell中的函数定义要简单一些:
doubleMe x = x*2
函数名:doubleMe
参数:x
返回:x*2
奇特的if语句
if语句大家应该都不陌生了,不过Haskell中的if语句貌似有点傲娇。。。它必须要你定义else语句,否则则会出现语法错误:
doubleSmallNumber x = if x > 100
then x
else x*2
列表
字符串
Haskell中的字符串只是语法糖,它实际上是一个单字符数组,下面这个字符串
str1 = "Hello World!"
相当于这个
str2 = ['H','e','l','l','o',' ','W','o','r','l','d','!']
列表的拼接
插入元素
取列表的第一个元素和最后一个元素
更多列表操作请查阅官方文档。