Last active
April 29, 2021 07:55
-
-
Save juvuorin/13509b733683a3e3affd0de03ddca262 to your computer and use it in GitHub Desktop.
Koiramainen ohjelmointikisa 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
automaattirivit2 2 x = [Rivi {rivitunniste = 7, tieto=x,tyyppi=Automaatti}, | |
Rivi {rivitunniste = 8, tieto=x,tyyppi=Automaatti}, | |
Rivi {rivitunniste = 9, tieto=x,tyyppi=Automaatti}] | |
automaattirivit2 _ _ = [] | |
data RiviTyyppi = Automaatti|Tavallinen deriving (Show) | |
data Rivi = Rivi {rivitunniste::Int, tieto::String,tyyppi::RiviTyyppi} deriving (Show) | |
testirivit =[Rivi {rivitunniste = 1, tieto="tunniste 1",tyyppi=Tavallinen}, | |
Rivi {rivitunniste = 2, tieto="tunniste 2",tyyppi=Tavallinen}] | |
teeMuunnos2 = foldl (\acc rivi-> | |
case (automaattirivit2 (rivitunniste rivi) (tieto rivi)) of | |
(x:xs)->acc++(automaattirivit2 (rivitunniste rivi) ("lisätietoa")) | |
[]->acc++[rivi] | |
) [] testirivit | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Koska Selma-koira ei ymmärrä kirjanpidosta (edelleenkään) tuon taivaallista, hän laati yleisemmän ratkaisun, missä tilinumeroa vastaa rivitunniste ja kirjanpidon viennin määrää tieto. Rivityyppi on lisätty virheiden etsimistä varten, siitä nähdään mikä rivi on syntynyt automaation seurauksena. Ohjelmaa voi kokeilla ajamalla komentoriviltä funktion teeMuunnos2.