Cum scriu bucla while din functia principala, main ?

From HaskellWiki
Revision as of 13:58, 10 February 2011 by Ha$kell (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Basescu.jpg


2009 : Presedintele Basescu doreste elevilor examene corecte si profesori exigenti ! (captura de la TV)


Atunci cand programul principaL PRELUCREAZA UN FLUX DE DATE iar functia principala s-ar fi scris ca o bucla while intr-un limbaj imperativ este posibil sa aveti nevoie de acest while. El 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.



BannerProLinuxAndHaskell.gif

La facultate poti invata unul din cele mai productive limbaje: Haskell !


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la Intrebarile incepatorului Ro/Haskell.