Difference between revisions of "Functii din Prelude, A-F"
Tomjaguarpaw (talk | contribs) (Deleting page that hasn't been edited for over 10 years) |
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Ha$kell) |
||
Line 1: | Line 1: | ||
+ | [[Category:Ro]] |
||
+ | [[Image:Haskelllogo-small-flag-RO-8.jpg|center|Haskell - Un limbaj functional pur]] |
||
+ | |||
+ | |||
+ | Lista de functii des folosite, cu nume de la A la F. |
||
+ | Pentru a vedea un exemplu de folosire (si tipul fiecarei functii) cautati numele ei mai jos pe pagina, cu Find-ul browser-ului. |
||
+ | |||
+ | abs - valoarea absoluta |
||
+ | |||
+ | all - predicatul e adevarat pe toata lista de argumente ? |
||
+ | |||
+ | and - conjunctie generalizata pe o lista de valori de tip Bool |
||
+ | |||
+ | any - exista o valoare pe lista care satisface predicatul (in engleza aceste intrebari se pun cu any) |
||
+ | |||
+ | atan - arctangenta |
||
+ | |||
+ | break - rupe o lista inaintea locului/elementului care satisface un predicat |
||
+ | |||
+ | ceiling - rotunjirea superioara la un intreg |
||
+ | |||
+ | chr - caracterul cu acel cod ascii, conversie numar - caracter |
||
+ | |||
+ | concat - concatenarea unui grup de liste , dat ca lista :) de liste |
||
+ | |||
+ | cos - cosinusul |
||
+ | |||
+ | digitToInt - transforma caracterul (daca e cifra) cifra in valoarea lui |
||
+ | |||
+ | div - impartirea intreaga |
||
+ | |||
+ | drop - arunca primele dintr-o lista |
||
+ | |||
+ | dropWhile - arunca primele care indeplinesc conditia |
||
+ | -- folositor la a ajunge la primele elemente semnificative daca pui conditia invers |
||
+ | |||
+ | elem - apartine listei |
||
+ | |||
+ | error - genereaza eroare si poate avea orice tip, folositi-o deci oriunde |
||
+ | exp - e(x) |
||
+ | |||
+ | flip - schimba ordinea argumentelor unei functii cu doua arg |
||
+ | |||
+ | filter - alege ce satisface predicatul, din lista data |
||
+ | |||
+ | ---- |
||
+ | <haskell> |
||
+ | :t abs |
||
+ | abs :: Num a => a -> a |
||
+ | |||
+ | Prelude> abs -9 |
||
+ | ERROR - Illegal Haskell 98 class constraint in inferred type |
||
+ | *** Expression : abs - 9 |
||
+ | *** Type : (Num a, Num (a -> a)) => a -> a |
||
+ | |||
+ | Prelude> abs (-9) |
||
+ | 9 |
||
+ | Prelude> abs (-9.3) |
||
+ | 9.3 |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t all |
||
+ | all :: (a -> Bool) -> [a] -> Bool |
||
+ | Prelude> all isDigit "12234678" |
||
+ | True |
||
+ | Prelude> all isDigit "danu" |
||
+ | False |
||
+ | Prelude> |
||
+ | ---- |
||
+ | lse |
||
+ | Prelude> :t and |
||
+ | and :: [Bool] -> Bool |
||
+ | Prelude> and [True,True ,True] |
||
+ | True |
||
+ | Prelude> and [True,True ,True,False] |
||
+ | False |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t atan |
||
+ | atan :: Floating a => a -> a |
||
+ | Prelude> |
||
+ | Prelude> 4 * atan 1 |
||
+ | 3.14159 |
||
+ | ---- |
||
+ | relude> :t break |
||
+ | break :: (a -> Bool) -> [a] -> ([a],[a]) |
||
+ | Prelude> break isDigit "R2D2" |
||
+ | ("R","2D2") |
||
+ | Prelude> break isDigit "3PO" |
||
+ | ("","3PO") |
||
+ | Prelude> |
||
+ | Prelude> break isSpace "La Multi Ani 2008!" |
||
+ | ("La"," Multi Ani 2008!") |
||
+ | Prelude> |
||
+ | Prelude> break (==0) [5,24,23,2,1,0,-1] |
||
+ | ([5,24,23,2,1],[0,-1]) |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t ceiling |
||
+ | ceiling :: (RealFrac a, Integral b) => a -> b |
||
+ | Prelude> ceiling 2.2 |
||
+ | 3 |
||
+ | Prelude> ceiling 1.242 |
||
+ | 2 |
||
+ | Prelude> ceiling 1.42 |
||
+ | 2 |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t chr |
||
+ | chr :: Int -> Char |
||
+ | |||
+ | Prelude> chr 66 |
||
+ | 'B' |
||
+ | Prelude> chr 65 |
||
+ | 'A' |
||
+ | Prelude> chr 32 |
||
+ | ' ' |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t concat |
||
+ | concat :: [[a]] -> [a] |
||
+ | Prelude> concat ["La", "Multi", "Ani","!"] |
||
+ | "LaMultiAni!" |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t cos |
||
+ | cos :: Floating a => a -> a |
||
+ | Prelude> cos 0 |
||
+ | 1.0 |
||
+ | Prelude> |
||
+ | ---- |
||
+ | relude> digitToInt "0" |
||
+ | ERROR - Type error in application |
||
+ | *** Expression : digitToInt "0" |
||
+ | *** Term : "0" |
||
+ | *** Type : String |
||
+ | *** Does not match : Char |
||
+ | |||
+ | Prelude> digitToInt '0' |
||
+ | 0 |
||
+ | Prelude> digitToInt '1' |
||
+ | 1 |
||
+ | Prelude> digitToInt '2' |
||
+ | 2 |
||
+ | Prelude> digitToInt '3' |
||
+ | 3 |
||
+ | Prelude> digitToInt '4' |
||
+ | 4 |
||
+ | Prelude> digitToInt 'u' |
||
+ | |||
+ | Program error: Char.digitToInt: not a digit |
||
+ | |||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t div |
||
+ | div :: Integral a => a -> a -> a |
||
+ | Prelude> 10 `div` 3 |
||
+ | 3 |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t drop |
||
+ | drop :: Int -> [a] -> [a] |
||
+ | Prelude> drop 2 ["La", "Multi", "Ani","!"] |
||
+ | ["Ani","!"] |
||
+ | Prelude> |
||
+ | ----- |
||
+ | Prelude> :t dropWhile |
||
+ | dropWhile :: (a -> Bool) -> [a] -> [a] |
||
+ | Prelude> dropWhile (==0) [0,0,0,0,1,2,3,4,0,0,1,2] |
||
+ | [1,2,3,4,0,0,1,2] |
||
+ | Prelude> |
||
+ | Prelude> :t elem |
||
+ | elem :: Eq a => a -> [a] -> Bool |
||
+ | Prelude> elem "!" ["La", "Multi", "Ani","!"] |
||
+ | True |
||
+ | Prelude> elem "2008" ["La", "Multi", "Ani","!"] |
||
+ | False |
||
+ | Prelude> elem "2000" ["La", "Multi", "Ani","!"] |
||
+ | False |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t error |
||
+ | error :: String -> a |
||
+ | Prelude> error "Stop the train!" |
||
+ | ERROR - Cannot find "show" function for: |
||
+ | *** Expression : error "Stop the train!" |
||
+ | *** Of type : a |
||
+ | |||
+ | Prelude> error "Stop the train!" :Char |
||
+ | ERROR - Undefined constructor function "Char" |
||
+ | Prelude> error "Stop the train!" :: String |
||
+ | " |
||
+ | Program error: Stop the train! |
||
+ | |||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t exp |
||
+ | exp :: Floating a => a -> a |
||
+ | Prelude> exp 1 |
||
+ | 2.71828 |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t flip |
||
+ | flip :: (a -> b -> c) -> b -> a -> c |
||
+ | Prelude> (flip (>)) 1 2 |
||
+ | True |
||
+ | Prelude> |
||
+ | ---- |
||
+ | Prelude> :t filter |
||
+ | filter :: (a -> Bool) -> [a] -> [a] |
||
+ | Prelude> filter (>2) [1,2,3,4,1] |
||
+ | [3,4] |
||
+ | Prelude> |
||
+ | |||
+ | </haskell> |
||
+ | |||
+ | ---- |
||
+ | Pagina indexata la indexul [[Category:Ro]] [http://www.haskell.org/haskellwiki/Category:Ro Categories:Ro] |
||
+ | ---- |
||
+ | [http://www.haskell.org/haskellwiki/Ro/Haskell <= Inapoi la pagina principala Ro/Haskell. ]<br> <br> |
||
+ | [http://www.haskell.org/haskellwiki/Intrebarile_incepatorului <'''-''' Inapoi la Intrebarile incepatorului Ro/Haskell. ] |
Latest revision as of 15:19, 6 February 2021
Lista de functii des folosite, cu nume de la A la F.
Pentru a vedea un exemplu de folosire (si tipul fiecarei functii) cautati numele ei mai jos pe pagina, cu Find-ul browser-ului.
abs - valoarea absoluta
all - predicatul e adevarat pe toata lista de argumente ?
and - conjunctie generalizata pe o lista de valori de tip Bool
any - exista o valoare pe lista care satisface predicatul (in engleza aceste intrebari se pun cu any)
atan - arctangenta
break - rupe o lista inaintea locului/elementului care satisface un predicat
ceiling - rotunjirea superioara la un intreg
chr - caracterul cu acel cod ascii, conversie numar - caracter
concat - concatenarea unui grup de liste , dat ca lista :) de liste
cos - cosinusul
digitToInt - transforma caracterul (daca e cifra) cifra in valoarea lui
div - impartirea intreaga
drop - arunca primele dintr-o lista
dropWhile - arunca primele care indeplinesc conditia
-- folositor la a ajunge la primele elemente semnificative daca pui conditia invers
elem - apartine listei
error - genereaza eroare si poate avea orice tip, folositi-o deci oriunde exp - e(x)
flip - schimba ordinea argumentelor unei functii cu doua arg
filter - alege ce satisface predicatul, din lista data
:t abs
abs :: Num a => a -> a
Prelude> abs -9
ERROR - Illegal Haskell 98 class constraint in inferred type
*** Expression : abs - 9
*** Type : (Num a, Num (a -> a)) => a -> a
Prelude> abs (-9)
9
Prelude> abs (-9.3)
9.3
Prelude>
----
Prelude> :t all
all :: (a -> Bool) -> [a] -> Bool
Prelude> all isDigit "12234678"
True
Prelude> all isDigit "danu"
False
Prelude>
----
lse
Prelude> :t and
and :: [Bool] -> Bool
Prelude> and [True,True ,True]
True
Prelude> and [True,True ,True,False]
False
Prelude>
----
Prelude> :t atan
atan :: Floating a => a -> a
Prelude>
Prelude> 4 * atan 1
3.14159
----
relude> :t break
break :: (a -> Bool) -> [a] -> ([a],[a])
Prelude> break isDigit "R2D2"
("R","2D2")
Prelude> break isDigit "3PO"
("","3PO")
Prelude>
Prelude> break isSpace "La Multi Ani 2008!"
("La"," Multi Ani 2008!")
Prelude>
Prelude> break (==0) [5,24,23,2,1,0,-1]
([5,24,23,2,1],[0,-1])
Prelude>
----
Prelude> :t ceiling
ceiling :: (RealFrac a, Integral b) => a -> b
Prelude> ceiling 2.2
3
Prelude> ceiling 1.242
2
Prelude> ceiling 1.42
2
Prelude>
----
Prelude> :t chr
chr :: Int -> Char
Prelude> chr 66
'B'
Prelude> chr 65
'A'
Prelude> chr 32
' '
Prelude>
----
Prelude> :t concat
concat :: [[a]] -> [a]
Prelude> concat ["La", "Multi", "Ani","!"]
"LaMultiAni!"
Prelude>
----
Prelude> :t cos
cos :: Floating a => a -> a
Prelude> cos 0
1.0
Prelude>
----
relude> digitToInt "0"
ERROR - Type error in application
*** Expression : digitToInt "0"
*** Term : "0"
*** Type : String
*** Does not match : Char
Prelude> digitToInt '0'
0
Prelude> digitToInt '1'
1
Prelude> digitToInt '2'
2
Prelude> digitToInt '3'
3
Prelude> digitToInt '4'
4
Prelude> digitToInt 'u'
Program error: Char.digitToInt: not a digit
Prelude>
----
Prelude> :t div
div :: Integral a => a -> a -> a
Prelude> 10 `div` 3
3
Prelude>
----
Prelude> :t drop
drop :: Int -> [a] -> [a]
Prelude> drop 2 ["La", "Multi", "Ani","!"]
["Ani","!"]
Prelude>
-----
Prelude> :t dropWhile
dropWhile :: (a -> Bool) -> [a] -> [a]
Prelude> dropWhile (==0) [0,0,0,0,1,2,3,4,0,0,1,2]
[1,2,3,4,0,0,1,2]
Prelude>
Prelude> :t elem
elem :: Eq a => a -> [a] -> Bool
Prelude> elem "!" ["La", "Multi", "Ani","!"]
True
Prelude> elem "2008" ["La", "Multi", "Ani","!"]
False
Prelude> elem "2000" ["La", "Multi", "Ani","!"]
False
Prelude>
----
Prelude> :t error
error :: String -> a
Prelude> error "Stop the train!"
ERROR - Cannot find "show" function for:
*** Expression : error "Stop the train!"
*** Of type : a
Prelude> error "Stop the train!" :Char
ERROR - Undefined constructor function "Char"
Prelude> error "Stop the train!" :: String
"
Program error: Stop the train!
Prelude>
----
Prelude> :t exp
exp :: Floating a => a -> a
Prelude> exp 1
2.71828
Prelude>
----
Prelude> :t flip
flip :: (a -> b -> c) -> b -> a -> c
Prelude> (flip (>)) 1 2
True
Prelude>
----
Prelude> :t filter
filter :: (a -> Bool) -> [a] -> [a]
Prelude> filter (>2) [1,2,3,4,1]
[3,4]
Prelude>
Pagina indexata la indexul Categories:Ro
<= Inapoi la pagina principala Ro/Haskell.
<- Inapoi la Intrebarile incepatorului Ro/Haskell.