Translate more functions

This commit is contained in:
Remigiusz Suwalski 2017-01-13 10:31:24 +01:00
parent ac680b6a7f
commit ca0d124a8e

View File

@ -178,45 +178,45 @@ myMap (\x -> x + 2) [1..5] -- [3, 4, 5, 6, 7]
foldl1 (\acc x -> acc + x) [1..5] -- 15 foldl1 (\acc x -> acc + x) [1..5] -- 15
---------------------------------------------------- ----------------------------------------------------
-- 4. More functions -- 4. Więcej funkcji
---------------------------------------------------- ----------------------------------------------------
-- partial application: if you don't pass in all the arguments to a function, -- częściowe nakładanie: jeśli funkcja nie otrzyma wszystkich swoich argumentów,
-- it gets "partially applied". That means it returns a function that takes the -- zostaje cześciowo nałożona - zwraca funkcję, która przyjmuje pozostałe,
-- rest of the arguments. -- brakujące argumenty.
add a b = a + b add a b = a + b
foo = add 10 -- foo is now a function that takes a number and adds 10 to it foo = add 10 -- foo jest teraz funkcją, która przyjmuje liczbę, zwiększa ją o 10
foo 5 -- 15 foo 5 -- 15
-- Another way to write the same thing -- Inny sposób na zapisanie tego samego:
foo = (10+) foo = (10+)
foo 5 -- 15 foo 5 -- 15
-- function composition -- składanie funkcji:
-- the operator `.` chains functions together. -- operator `.` składa wiele funkcji w jedną.
-- For example, here foo is a function that takes a value. It adds 10 to it, -- Dla przykładu, foo jest funkcją, która powiększa swój argument o 10, mnoży
-- multiplies the result of that by 4, and then returns the final value. -- tak uzyskaną liczbę przez 4 i zwraca wynik:
foo = (4*) . (10+) foo = (4*) . (10+)
-- 4*(10 + 5) = 60 -- 4*(10 + 5) = 60
foo 5 -- 60 foo 5 -- 60
-- fixing precedence -- ustalanie kolejności
-- Haskell has another operator called `$`. This operator applies a function -- Haskell posiada inny operator, `$`, który nakłada funkcję do podanego
-- to a given parameter. In contrast to standard function application, which -- parametru. W przeciwieństwie do zwykłego lewostronnie łącznego nakładania
-- has highest possible priority of 10 and is left-associative, the `$` operator -- funkcji, którego priorytet jest najwyższy (10), operator `$` posiada
-- has priority of 0 and is right-associative. Such a low priority means that -- priorytet 0 i jest prawostronnie łączny. Tak niski priorytet oznacza, że
-- the expression on its right is applied as the parameter to the function on its left. -- wyrażenie po prawej traktowane jest jako parametr funkcji po lewej
-- before -- wcześniej
even (fib 7) -- false even (fib 7) -- fałsz
-- equivalently -- równoważnie
even $ fib 7 -- false even $ fib 7 -- fałsz
-- composing functions -- składanie funkcji
even . fib $ 7 -- false even . fib $ 7 -- fałsz
---------------------------------------------------- ----------------------------------------------------