Haskell 3. (mintaillesztés)

Haskell 3. (mintaillesztés)

memorize.aimemorize.ai (lvl 286)
Section 1

Preview this deck

legalább egy elemű lista (c -head cs-tail)

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (14)

Section 1

(14 cards)

legalább egy elemű lista (c -head cs-tail)

Front

(c:cs)

Back

egy számhármas első elemét adja meg (first)

Front

first :: (a, b, c) -> a first (x, _, _) = x

Back

listák listájából az összes listapár, ahol a két lista hosszösszege éppen 4

Front

foo :: [[a]] -> [([a], [a])] foo xs = [(l1, l2) | l1 <- xs, l2 <- xs, length l2 + length l1 == 4]

Back

legalább két elemű lista

Front

(x1:x2:_)

Back

null újradefiniálása

Front

null' :: [a] -> Bool null' [ ] = True null' _ = False

Back

head újradefiniálása (head')

Front

head' :: [a] -> a head' [] = error "Can't call head on an empty list!" head' (x:_) = x

Back

listák listájából minden elem második eleme

Front

seconds :: [[a]] -> [a] seconds xs = [second l | l <- xs] where second :: [a] -> a second (_:x2:_) = x2

Back

két vektor összeadása: addVectors :: (Num a) => (a, a) -> (a, a) -> (a, a)

Front

addVectors (x1, y1) (x2, y2) = (x1 + x2, y1 + y2)

Back

head újradefiniálása mintaillesztéssel (head')

Front

head' :: [a] -> a head' (x:_) = x

Back

listában legalább egy elemű lista x tail xs head

Front

[xs:x]

Back

egy számhármas utolsó elemét adja meg (third)

Front

third :: (a, b, c) -> c third (_, _, z) = z

Back

tail újradefiniálása mintaillesztéssel (tail')

Front

tail' :: [a] -> [a] tail' (_:xs) = xs

Back

van-e üres lista a listában (null' már definiálva van)

Front

anyNull :: [[a]] -> Bool anyNull xs = length [l | l <- xs, null' l] /= 0

Back

tetszőleges három elemű lista

Front

[_, _, _]

Back