Personal tools

Cum scriu bucla while din functia principala, main ?

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
  +
[[Category:Ro]]
  +
 
Atunci cand programul principaL PRELUCREAZA UN FLUX DE DATE iar functia principala s-ar fi scris ca o bucla while intr-un limbaj imperativ aveti nevoie de acest while. Este scris in do-notatie si se foloseste de obicei impreuna cu operatii de IO.
 
Atunci cand programul principaL PRELUCREAZA UN FLUX DE DATE iar functia principala s-ar fi scris ca o bucla while intr-un limbaj imperativ aveti nevoie de acest while. Este scris in do-notatie si se foloseste de obicei impreuna cu operatii de IO.
   
Line 38: Line 40:
   
 
</haskell>
 
</haskell>
  +
  +
Atentie, folosirea acestui while poate pune unele probleme motiv pentru care recomandam sa scrieti actiunea '''main''' a unui program in Haskell in maniera recursiva.
  +
  +
----
  +
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 Intrebarile incepatorului Ro/Haskell. ]

Revision as of 21:48, 25 January 2008


Atunci cand programul principaL PRELUCREAZA UN FLUX DE DATE iar functia principala s-ar fi scris ca o bucla while intr-un limbaj imperativ aveti nevoie de acest while. Este scris in do-notatie si se foloseste de obicei impreuna cu operatii de IO.

while test actiune
  = do rezultat <- test 
       if rezultat then do actiune
                           while test actiune
                   else return ()

Exemplu:

 
module Main where
import IO
-- pentru isEOF
 
-- isEOF :: IO Bool
 
while test actiune
  = do rezultat <- test 
       if rezultat then do actiune
                           while test actiune
                   else return ()
 
 
main= while  (do b <- isEOF
                 return (not b) ) 
             (do s <- getChar
                 print $ ord s  )  
 
 
{--
runhugs  myinput.hs
--}

Atentie, folosirea acestui while poate pune unele probleme motiv pentru care recomandam sa scrieti actiunea main a unui program in Haskell in maniera recursiva.


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la Intrebarile incepatorului Ro/Haskell.