Difference between revisions of "Cum transform o lista de actiuni de IO in actiunea-secventa a lor ?"

From HaskellWiki
Jump to navigation Jump to search
(adding a Pro Haskell Banner)
(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'. ]
 

Revision as of 11:43, 6 February 2021