haskell筆記1

1 .function_name

functions can’t begin with uppercase letters

2 . how to unload a module

type in :m

:m

3 . name(definition)

When a function doesn’t take any parameters, we usually say it’s a definition (or a name). Because we can’t change what names (and functions) mean once we’ve defined them

4 .list

1.list is homogenous(同質的)
2.putting two lists together

//1:this method only takes two lists!
//2:will walk through the whole two lists,if add two very //long lists together,it will cost a lot of time 
[1,2,3,4]++[2,3,4,5]
>>[1,2,3,4,2,3,4,5]
[1,2,3,4]++[5]
>>[1,2,3,4,5]
//[1,2,3,4]++5 is wrong
//1:can add a element at the beginning of a list(noted: //only a element)
//2:only takes a element and a list
2:[1,2,3,4]
>>[2,1,2,3,4]
//[2]:[1,2,3] is wrong

3 .find a element by index

//find a element  by index
[1,2,3,4]!!3
>>4
"black"!!2
>>a

4.head tail init last用法
head,tail,init,last

5 . make a list

[1,2..20]
[2,4,6..20]
[0.1,0.3,0.5..1]
\\精度問題

6 .list comprihension
//集合說明方式

[x*2|x<-[1,2..10]]
[x*2|x<-[1,2..10],x*2>12]

5 tuples

  1. difference between list and tuple
    1.1 tuple is not homogenous(同質的)
    1.2 tuple must be specified the number of values when it is created
  2. some function used on pair
fst (1,2)
>> 1
snd (2,3)
>> 3
zip [1,2,3] [2,3,4]
>> [(1,2),(2,3),(3,4)]
//zip two lists into a pairs

6 note about difference between haskell and common language like c or python

  1. /= means !=
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章