Kezdőoldal » Számítástechnika » Programozás » Haskellben lehet ezt használni...

Haskellben lehet ezt használni vagy nem ?

Figyelt kérdés

data Colour = Red | Green


Használhatom-e ezt vagy nem :

Ha igen miért igen és ha nem miért nem ?


Red > Green



2022. nov. 23. 09:36
 1/1 anonim ***** válasza:
100%

Magától nem rendezi az az adatokonstruktorokkal kifejezett alternatívákat. Vagy explicit meg kell adni a rendezést, vagy pedig jelezni kell, hogy az ember az automatikus rendezést szeretné:


data Color = Red | Green deriving (Eq, Ord)


az Ord egy típusosztály, afféle ,,interfész'', mely a rendezhetőséget, és a <, <=, >, >, compare metódus meglétét, definiáltságát jelzi. A deriving kulcssszóval kérhetjük ennek egy automatikus felállítását (a fordító ekkor az egyes alternatívák sorrendje szerint generálja a rendezést: a Red lesz a kisebbik, a Green a nagyobbik).


Az Eq egy másik típusosztály, amely ez egyenlőség létét jelenti. (Pl függvények közt nem lehet egyenlőséget belső eszközökkel deklarálni -- a fordító nem képes a végtelen behelyettesíthetőséget felhasználói definicióként megragadni ebben az értelemben.) Természetesen számokra, boolokra, egyszerű algebrai típusokra könnyen definiálható az egyenlőség fogalma értelemszerűen.

Itt e példában most ez a kérdéskör nem fontos, annyit kell csak tudni, hogy az Eq azért kell hogy ott álljo, mert az Ord előfeltétele az, hogy ami Ord, az egyben Eq is legyen. Itt tehát egyszerűen azt kérjük a fordítótól, hogy az alapértelmezett módon vezesse be automatikusan az egyenlősség fogalmát (a Red magával egyenlő, a Green is magával egyenlő, és semmi más közt nincs egyenlőség), és aztán szintén alapértelmezett módon bóvítse ez ki rendezéssé is (kövesse az alternativák sorrendjét).

2022. nov. 23. 12:54
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!