先睹为快 Haskell
2019-03-14 本文已影响33人
zidea

Haskell 这是一门难懂语言,早就耳闻,简书上搜了搜资料也不多,
今天简单搭建了一下环境,我的环境是 window ,下载安装包一步一步根据提示安装就好了,比较愉快的搭建环境。
先写一个 helloworld
main print "hello world"
ghc helloworld.hs
然后执行以下就行。
语言特点
语言特点说道 haskell 应该罗列一堆,不过为了突出重点,我个人认为两个特点是 haskell 比较显著的Lazy和Pure
Lazy

听说这是 facebook 的办公室,facebook 员工就是这样休息的那么。
pure

haskell 是一种纯粹的函数式编程语言。在命令式语言中,通过给计算机一系列的任务,然后执行它们,就可以完成任务。
四则运算
没有 ; 表示结束,看格式应该跟 python 有点相似 tab 键来表示层级关系
main = do
let sum = 2 + 15
print sum
let multi = 2 * 15
print multi
let minus = 15 - 2
print minus
let div = 15 /2
print div
最大最小值
main = do
let minInt = min 9 10
print minInt
let minFloat = min 9 10
print minFloat
let maxInt = max 9 10
print maxInt
定义第一个函数
函数定义起来也比较简洁,没有任何啰嗦
main = do
let doubleMe x = x + x
print (doubleMe 2)
main = print [1..5]
main = do
let doubleSmallNumber x = (if x > 100 then x else x*2) + 1
print (doubleSmallNumber 2)
条件语句
main = do
let doubleSmallNumber x = (if x > 100 then x else x*2) + 1
print (doubleSmallNumber 2)
集合
main = do
let nums = [1,2,3]
print (nums)
为集合添加原生
main = do
let helloworld = 5:[1,2,3,4,5]
print (helloworld) // [5,1,2,3,4,5]
根据 index 获取数组原生
main = do
let nums = [1,2,3,4,5]
let second = nums !! 2
print second // 3
main = do
let nums = [1,2,3,4,5]
print nums
let tailRes = tail [1,2,3,4,5]
print tailRes
let headRes = head [1,2,3,4,5]
print headRes
let initRes = init [1,2,3,4,5]
print initRes
输出结果
[1,2,3,4,5]
[2,3,4,5]
1
[1,2,3,4]