Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja Both sides next revision
pl:dydaktyka:pp:haskell:lab-intro [2018/04/20 10:29]
kkutt utworzono
pl:dydaktyka:pp:haskell:lab-intro [2018/04/20 11:00]
kkutt [Debugger]
Linia 220: Linia 220:
 quicksort [] = []                                                     -- definiuje zachowanie na pustej liście ​ quicksort [] = []                                                     -- definiuje zachowanie na pustej liście ​
 quicksort xx@(x:​xs) ​                                                  -- @ inforumuje żeby zmienna xx była widoczna jako całość i jako poszczególne części x i xs quicksort xx@(x:​xs) ​                                                  -- @ inforumuje żeby zmienna xx była widoczna jako całość i jako poszczególne części x i xs
- | trace ("qs: "++ show x ++ " " ++show xx) False = [] -- zastosowano tu składnie | case = execute | case2 = execute2, ponieważ trace zwróci False ta gałąź się nigdy nie wykona, ale zostanie wypisana wiadomość na stderr+                ​| trace ("qs: "++ show x ++ " " ++show xx) False = [] -- zastosowano tu składnie | case = execute | case2 = execute2, ponieważ trace zwróci False ta gałąź się nigdy nie wykona, ale zostanie wypisana wiadomość na stderr
                 | otherwise = quicksort low ++ x : quicksort high     -- otherwise to nic innego jak True, można nawet sprawdzić True == otherwise w GHCi ta gałąź się wykona w pozostałych przypadkach (w tym wypadku zawsze), następuje konkatenacja listy posortowanej quicksortem z listą składającą się z elementu rodzielającego i listy posortowanej quicksortem                 | otherwise = quicksort low ++ x : quicksort high     -- otherwise to nic innego jak True, można nawet sprawdzić True == otherwise w GHCi ta gałąź się wykona w pozostałych przypadkach (w tym wypadku zawsze), następuje konkatenacja listy posortowanej quicksortem z listą składającą się z elementu rodzielającego i listy posortowanej quicksortem
                               where low = [e | e <- xs, e < x]        -- w bloku where następują definicje zmiennych lokalnych low to podlista xs z wartościami mniejszymi od strażnika x                               where low = [e | e <- xs, e < x]        -- w bloku where następują definicje zmiennych lokalnych low to podlista xs z wartościami mniejszymi od strażnika x
pl/dydaktyka/pp/haskell/lab-intro.txt · ostatnio zmienione: 2020/03/02 01:57 przez msl
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0