www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

Tokolosh

Gepostet:
29.05.2011 00:41

While-Schleife  
Hallo, ich hänge gerade an einem Problem. Und zwar brauche ich eine While-Schleife in Haskell.
Übergeben werden eine Bedingung (<42), ein Startwert und eine Funktion. Dabei soll ich allgemein bleiben, also einen möglichst allgemeinen Typ verwenden.
hier nochmal eine Bsp.übergabe....

main = while (<42) 0 ( \\x -> do y <- readLn; return (x+y))

Bis dann

Zum Seitenanfang    
 
Landei

Gepostet:
29.05.2011 16:27

   
Da habe ich eine Weile dran rumgefrickelt, aber bestimmt geht es auch einfacher:


import Control.Monad

while :: (a -> Bool) -> a -> (a -> IO a) -> IO a
while cond start step = loop (return start) where
loop value = do cmp <- liftM cond value
if cmp then do result <- fmap step value
loop result
else value
Zum Seitenanfang    
 
Tokolosh

Gepostet:
31.05.2011 09:54

Vielen Dank  
HEy, vielen Dank. War auf einem anderen Weg. Muss wohl noch einiges in Haskell lernen, da ich kaum was mit Monaden zu tun hatte...
Zum Seitenanfang