Kann ich einen Entweder fragen, ob es links (oder rechts) ist?

7

Ich weiß, dass ich normalerweise nur Mustervergleiche durchführen kann, aber manchmal würde ich diese Funktionen nützlich finden:

%Vor%

Gibt es so etwas in der Standardbibliothek?

    
fredoverflow 27.08.2011, 08:32
quelle

5 Antworten

19

Obwohl das ziemlich alt ist, hier als Referenz veröffentlichen.

Dies ist jetzt in der Standardbibliothek unter Data.Either seit 4.7:

Ссылка

  

isLeft :: Either a b -> Bool

     

Gibt True zurück, wenn der angegebene Wert ein Left-Wert ist, andernfalls False.

     

isRight :: Either a b -> Bool

     

Gibt True zurück, wenn der angegebene Wert ein Richtiger Wert ist, ansonsten False.

    
pyrospade 04.06.2014, 19:41
quelle
13

Wie bereits erwähnt wurde, gibt es keine solche Funktion in der Standardbibliothek, und Sie können Ihre eigenen auf verschiedene Arten implementieren.

Beachten Sie jedoch, dass Fragen der Form "Ist X in der Standardbibliothek?" am einfachsten von Hoogle , denn selbst wenn Sie den Namen einer Funktion nicht kennen, können Sie nach dem -Typ suchen.

Hoogle ist auch schlau genug, um zu wissen, dass die Argumentreihenfolge keine Rolle spielt, und es werden auch Ergebnisse angezeigt, deren Typen ähnlich (z. B. generischer) sind als der Typ, nach dem Sie gesucht haben.

In diesem Fall führt die Suche nach Either a b -> Bool nicht zu vielversprechenden Ergebnissen , das ist ein guter Hinweis darauf, dass es in der Standardbibliothek nicht existiert.

    
hammar 27.08.2011 13:51
quelle
5

Nein, aber Sie können schreiben:

%Vor%     
Landei 27.08.2011 09:04
quelle
3

Nein, gibt es nicht, afaik.

Aber Sie können diese Funktionen noch einfacher definieren *:

%Vor%

Das gleiche gilt natürlich auch für isRight .

EDIT: * Okay, ich denke, es ist fraglich, ob das einfacher ist oder nicht, da es mehr Zeilen Code benötigt ...

    
bzn 27.08.2011 08:43
quelle
2

Soweit ich weiß, gibt es in der Standardbibliothek nichts Vergleichbares. Sie können es jedoch leicht selbst definieren.

%Vor%     
Anon 27.08.2011 09:36
quelle

Tags und Links