Difference between revisions of "Cum transform o lista de actiuni de IO in actiunea-secventa a lor ?"
Jump to navigation
Jump to search
(adding a Pro Haskell Banner) |
Tomjaguarpaw (talk | contribs) (Deleting page that hasn't been edited for over 10 years) |
||
Line 1: | Line 1: | ||
− | [[Category:Ro]] |
||
− | |||
− | <center> |
||
− | |||
− | http://www.haskell.org/sitewiki/images/2/2c/BannerProLinuxAndHaskell.gif |
||
− | |||
− | [http://stiinte.ub.ro La facultate poti invata unul din cele mai productive limbaje: Haskell.] |
||
− | </center> |
||
− | ---- |
||
− | |||
− | Folositi o functie sequence_ cum este cea de mai jos. |
||
− | |||
− | <haskell> |
||
− | sequence_ :: [ IO() ] -> IO () |
||
− | sequence_ [] = return () |
||
− | sequence_ (a:as) = do a |
||
− | sequence_ as -- atentie la aliniere !! |
||
− | </haskell> |
||
− | |||
− | Sequence_ se putea defini si intelege si ca un foldr, ca o schimbare a operatorilor cons ":" de pe lista cu secventierea (>>) (care se pronunta ''then'' ) a doua actiuni de IO. Valoarea initiala pentru foldr este bineinteles actiunea de IO vida: ''return ()'' |
||
− | |||
− | <haskell> |
||
− | sequence_ = foldr (>>) (return () ) |
||
− | </haskell> |
||
− | |||
− | ---- |
||
− | Nota: atat sequence cat si sequence_ ar trebui sa fie definite deja nu numai pentru [[Monada de IO]] ci si in general pentru oricare dintre [[monade]]. |
||
− | Tipul lor este de fapt mai general decat am scris mai sus. |
||
− | |||
− | Cum il aflati ? <br> |
||
− | tastati :t sequence <br> |
||
− | apoi <br> |
||
− | tastati :t sequence_ <br> |
||
− | ---- |
||
− | 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 inceputul paginii 'Intrebarile incepatorului Ro/Haskell'. ] |