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]