Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

putStrLn

putStrLn per Rekursion aus putChar zusammenbastlen

Haskell source code icon MyputStrLn.hs — Haskell source code, 1 KB

Dateiinhalt

-- Übung: putStrLn per Rekursion aus putChar basteln:
myPutStrLn :: String -> IO ()
myPutStrLn "" = putChar '\n' -- Ende der Ausgabe; einfach nur  Zeilenvorschubzeichen ausgeben.
myPutStrLn (c:r) = do        -- Wir nutzen die DO-notation, um zwei IO-Aktionen hintereinander auszuführen
  putChar c    -- :: IO ()   --    Erst das erste Zeichen ausgeben
  myPutStrLn r -- :: IO ()   --    Dann rekursiv den Rest abarbeiten - was wieder _eine_ (zusammengesetzte) IO-Aktion ist

  
  
main = do   
    line <- getLine  
    if null line  
      then do
        -- return ()            -- nichts machen, oder
        myPutStrLn "(no input)" -- Ausgabe
        -- main                 
      else do  
        myPutStrLn $ reverseWords line  
        main                    -- rekursiv weiter arbeiten
  
-- Rein Funktionale Funktion:  
reverseWords :: String -> String  
reverseWords = unwords . map reverse . words  


Artikelaktionen


Funktionsleiste