namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:include:expected

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
kennen:include:expected [2024-11-01 20:07] – [Methoden] rrichterkennen:include:expected [2024-11-01 20:33] (aktuell) – [Monadische Operationen] rrichter
Zeile 35: Zeile 35:
 | ''error_or(e)''  | Alternative, falls erwarteter Wert vorhanden | | ''error_or(e)''  | Alternative, falls erwarteter Wert vorhanden |
  
-Außerdem sind "monadische" Operationen als Methoden definiert+===== Monadische Operationen ===== 
 +> Monad: a monoid in the category of endofunctors 
 +> -- James Iry 
 + 
 +> Once you understand, you lose the ability to explain. 
 +> -- https://news.ycombinator.com/item?id=22417583 
 Diese rufen in Abhängigkeit vom Vorhandensein eines Wertes eine Funktion ''f'' auf. Diese rufen in Abhängigkeit vom Vorhandensein eines Wertes eine Funktion ''f'' auf.
 Im Ergebnis entsteht wiederum ein ''std::expected<_,_>''. Im Ergebnis entsteht wiederum ein ''std::expected<_,_>''.
Zeile 46: Zeile 52:
 | ''transform_error(f)'' | | ''f(error())'' | ''E2'' | | ''transform_error(f)'' | | ''f(error())'' | ''E2'' |
  
-Mit monadischen Operationen lassen sich Verarbeitungsschritte und auftretende Fehler verketten: +Mit den monadischen Operationen lassen sich Verarbeitungsschritte und eventuell auftretende Fehler verketten: 
  
 <code cpp name_of_weekday.cpp> <code cpp name_of_weekday.cpp>
Zeile 56: Zeile 62:
 struct Date { int y, m, d; }; struct Date { int y, m, d; };
  
-auto leapyear(int y) {+auto leapyear(int y)  
 +{
   return (y % 4 == 0 && !(y % 100 == 0)) || y % 400 == 0;   return (y % 4 == 0 && !(y % 100 == 0)) || y % 400 == 0;
 }   }  
kennen/include/expected.1730488045.txt.gz · Zuletzt geändert: 2024-11-01 20:07 von rrichter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki