4.4 fehler mit classification

  • Habe bei 4.4 folgende Probleme

    Main> wege (Empty) 2 3
    ERROR - Cannot find "show" function for:
    *** Expression : wege Empty 2 3
    *** Of type : Classification


    - kann es sein - dass der typ Classification nicht ausgegeben werden kann , weil der Interpreter Hugs den Typ nicht kennt ?

    Code
    1. --DEFINITION
    2. data Graph = Empty | GNode Int [Int] Graph
    3. data Classification = NoWay | OneWay | ManyWays | InvalidInput
    4. wege :: Graph -> Int -> Int -> Classification
    5. wege Empty _ _ = NoWay




    DENN - WENN MAN FOLGENDES MACHT:

    Code
    1. --DEFINITION
    2. data Graph = Empty | GNode Int [Int] Graph
    3. data Classification = NoWay | OneWay | ManyWays | InvalidInput
    4. wege :: Graph -> Int -> Int -> Bool
    5. wege Empty _ _ = False



    gibt er false bei wege (Empty) 2 3 sehr wohl aus !

    _______________________________________
    creo-it.com

  • Code
    1. data Classification = NoWay | OneWay | ManyWays | InvalidInput deriving (Show,Eq)


    hilft.


    lg, chris

    hi, i'm a signature virus. copy me into your signature to help me spread.

  • Ach - dann ist das also wieder mal nicht unser fehler.
    davon steht nichts in der definition. - es kann doch nicht sinn der übung sein sich eine richtige angabe selbst zusammenzubasteln.
    das wird ja immer lustiger mit der vu... echt super vorbereitet,
    toller arbeitsstil. Über die falschen testfälle will ich mich erst gar nicht äussern.

    ZITAT diesbezüglich aus der Angabe von knoop:

    Code
    1. [FONT=CMR10][size=10][align=left]Der Typ [/SIZE][/FONT][FONT=CMTT10][size=10]Classification [/SIZE][/FONT][FONT=CMR10][size=10]ist also durch folgenden Aufzaehlungstyp in Haskell gegeben:[/align]
    2. [/SIZE][/FONT][FONT=CMTT10][size=10][align=left]data Classification = NoWay | OneWay | ManyWays | InvalidInput[/align]
    3. [/SIZE][/FONT]




    PS:nur weil jemand mitliest halt ich sicher nicht meinen mund...

    _______________________________________
    creo-it.com

  • Die Angabe ist nicht falsch, es sagt ja niemand dass das Resultat auch ausgegeben werden können muss (auch wenn das beim Testen ein wenig unpraktisch ist). Die Testfälle sind aber falsch: dort wird mit True/False verglichen statt mit den Werten für Classification.

  • wenn die korrekte implementierung eines problemes auf basis einer angabe fehlercodes erzeugt -ist die angabe als falsch zu betrachten.
    - auch ohne den aspekt der bool-werte in den testfällen in diese überlegung miteinzubeziehen.

    _______________________________________
    creo-it.com

  • wenn die korrekte implementierung eines problemes auf basis einer angabe fehlercodes erzeugt -ist die angabe als falsch zu betrachten.


    Ansichtssache. Ich halte es für wahrscheinlicher dass ein formaler Testfall fehlerhaft ist als eine verbale Angabe. Es wird doch niemand versehentlich die Classification-Definition in die Angabe schreiben wenn in Wirklichkeit ein Bool gemeint ist.


    Hat eigentlich schon jemand an die LVA-Leitung geschrieben? Es wäre schon günstig wenn die Testfälle korrigiert werden.

  • Quote
    Code
    1. wege :: Graph -> Int -> Int -> Classification
    2. wege Empty _ _ = NoWay



    in diesem Fall soll die Funktion InvalidInput liefern, weil m und in nicht in g sind.

    oder liege ich falsch?