Aktywne Wpisy

#przegryw Bądź dziewicą do 28 roku życia , wierz w true love , zakochaj się w amerykańcu , przeżyj dwa lata piekła , wróć do PL zacznij pić i wkręć się w FWB.... Sama się sobą brzydzę.

brednyk +18
Dlaczego Konfederacji rośnie i czego oczekuje wyborca:
- nie chcą dyskursu UE
- chcą jeździć samochodami spalinowymi i jeść mięso oraz nabiał w takich ilościach jakie chcą
- nie chcą być niewolnikiem ani tych z zachodu, ani tych ze wschodu ani tych zza oceanu
- chcą równego prawa i traktowania dla wszystkich Polaków i imigrantów
- nadęta biurokracja to przeszkoda dla obywatela
- podatki mają być niskie ale przede wszystkim proste, nieskomplikowane
- nie chcą dyskursu UE
- chcą jeździć samochodami spalinowymi i jeść mięso oraz nabiał w takich ilościach jakie chcą
- nie chcą być niewolnikiem ani tych z zachodu, ani tych ze wschodu ani tych zza oceanu
- chcą równego prawa i traktowania dla wszystkich Polaków i imigrantów
- nadęta biurokracja to przeszkoda dla obywatela
- podatki mają być niskie ale przede wszystkim proste, nieskomplikowane





Piszę funkcję odwracającą listę , czy może mi ktoś powiedzieć dlaczego to nie działa ?
rev[a] = reverse[a]
opisując(chociaż nie ma za bardzo co) podając jakąś listę powinien wykonać na niej operację reverse, tak ?
a mam takie info *** Exception: 2ost.hs:1:1-20: Non-exhaustive patterns in function rev
A jak dasz
rev a = reverse ato wszystkie możliwości będą obsłużone
(O ile o jest Twój cały kod, bo w sumie trochę mało sensu w funkcji wywołującej inną funkcję)
a możesz mi powiedzieć jak zapisać wynik tego co napisałeś do jakieś zmiennej ?
W Haskellu nie ma zmiennych w takim sensie, jak w językach typu C++/java etc
Odwracanie listy najlepiej zrobić jakoś rekurencyjnie, np tak:
rev [] = []
rev (x:xs) = rev xs ++ [x]
wystarczy wykonać init a czyli wszystkie elementy bez ostatniego a potem last a i mamy element przedostatni ;)
rev a = init a i last a ?
last $ init asecondLast = last $ initWłaściwie to można użyć też po prostu złożenia:
secondLast = last . initswapfl [] = []
swapfl [x] = [x]
swapfl (x:xs) = (last xs : init xs) ++ [x]
Pytanie jest co ten ostatni element roibi tzn :
- co robi : ?
#haskell
1 : [2, 3, 4]to to samo co [1, 2, 3, 4]`
idąc dalej
1 : 2 : 3 : 4 : [] da [1, 2, 3, 4]swapfl (x:xs) = (last xs : init xs) ++ [x]czyli tutaj
x:xsta lista jest właśnie przedstawiona jako (pierwszy element : pozostała część listy)