Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Einführung in die Funktionale Programmierung (einfach und praxisnah!)

Niklas Steenfatt24:55 136.709 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 178 Zeilen
Herunterladen
  1. jeder gute programmierer sollte was von funktionaler programmierung verstehen in diesem video erkläre ich dir von null auf hundert alles was du darüber wissen
  2. [Musik] hallo in meinem video zu den fünf wichtigsten vorlesungen informatikstudium wahl eines davon die
  3. funktionale programmierung und da hat ein gewisser seabird kommentiert gutes video mich würden noch mehr details zur funktionalen programmierung interessiert
  4. gerne lieber seabird gebe ich dir heute eine einführung in die funktionale programmierung funktionale programmierung ist ein so genanntes
  5. programm ihr paradigma das heißt ein programm ihr stil oder eine programmierte denkweise assist persson keine besondere programmiersprache
  6. gebunden in fast allen gängigen programmiersprachen kann man sowohl funktional als auch imperativ
  7. programmieren ein anderes beispiel für ein programm ihr paradies zb die objektorientierte programmierung davon hast du vielleicht schon gehört das wird
  8. eigentlich in jedem informatikstudium gleich vom ersten semester an intensiv unterrichtet und das ist heutzutage eigentlich das standard paradigma in dem
  9. überall programmiert wird ganz früher war ein computerprogramm so eine datei die einfach einmal von oben nach unten durch läuft einfach so eine folge von
  10. anweisungen für den computer danach habe man festgestellt dass es nützlich sein kann bestimmte code blöcke die man immer wieder ausführen möchte
  11. als prozedur zu definieren und diese prozedur kann man dann von anderen stellen des programms aufrufen es wird manchmal auch prozedurale
  12. programmierungen genannt und die erweiterung dessen es die objektorientierte programmierung die haben noch viel mehr möglichkeiten
  13. bietet sein programm logisch einzuteilen klassen die instanzen haben und die methoden anbieten methode prozedur funktion sind begriffe die oft
  14. durcheinander und meistens gleich bedeuten benutzt werden jetzt sei gesagt das ist ihr überhaupt nicht darum geht objektorientierte versus funktionale
  15. programmierung im gegenteil man kann objektorientiert und funktional programmieren oder nur funktional oder nur objektorientiert das geht alles in
  16. der praxis spielen sowohl funktional als auch objektorientierte programmierung eine sehr große rolle in den heutigen beispielen gucken wir
  17. uns einzelne methoden schrägstrich prozeduren schrägstrich funktionen an und es spielt keine rolle ob das jetzt eine methode ist die alleinstehend ist
  18. oder ob es eine methode ist die folgen einer klasse angeboten wird wer für die funktionale programmierung dann können wir später noch die
  19. objektorientierte programmierung dazu nehmen und dann schreiben wir funktionale methoden für unsere klassen und objekt gucken wir uns mal ein
  20. beispiel für einen nicht funktional eine imperative methode hier haben wir so eine dubiose methode ist es nicht genau richtig was du jetzt
  21. soll das ist auch 95 bis beispiel die bekommt einen konter zu einer liste einige zahlen ein pointer zu einer liste summen und ein pointer zu einem
  22. datenbank und diese methode hat etwas das nicht funktionale methoden oft haben nämlich seiten effekte quasi nebenwirkungen ein seiten effektes
  23. irgend ein zustand der sich ändert wenn man die methode aus fügt in diesem fall wird etwas in einer datenbank gespeichert der zustand meines programms
  24. oder in dem fall sogar einer externen datenbank ändert sich je nachdem ob und vielleicht wie oft sich die methode schon ausgeführt hat ein anderer seiten
  25. effekt den wir hier sehen ist dass ich diese liste die von außen reinkommt nehme und da etwas dran hängen wenn jetzt diese liste von einem anderen
  26. programm auch noch benutzt wird oder irgendwo in meinem programm dann macht es einen unterschied ob ich diese beispiel methode schon ausgeführt
  27. habe und wie oft ich sie ausgeführt habe wenn ich die methode mehrmals ausführe tritt dieser seiten effekt potenziell mehrmals auf und die liste verändert
  28. sich mehrmals funktionalen prämierung gibt es solche seiten effektive sehen werden nicht eine weitere charakteristische nicht funktional
  29. methoden ist auch dass ich hier überhaupt meine datenbankabfrage das heißt ich greife auf einen zustand zu und entscheider anhand dessen wie mein
  30. programm ausgeführt wird bei einer funktion ist so was nicht erlaubt und wenn ich jetzt funktionen sage meine ich funktion im sinne der mathematik oder
  31. funktionale methode eine funktion also ist nie von einem zustand abhängig von xfx quadrat wenn ich das gleiche x5 kommt immer das gleiche quadrat raus 25
  32. ein mathematiker würde niemals etwas als funktion akzeptieren das nicht für jede eingabe genau eine ausgabe hat wenn also ein programm irgendeinen zustand
  33. überprüft ist das war ein ganz gutes zeichen das ist keine funktion ist hier sieht man zum beispiel dass der rückgabe zu ändern ist in anderen sprachen würde
  34. es vielleicht heißen das ist also eine methode die nicht zurückgibt und deswegen sowieso keine funktion sein können und dass sich das
  35. ohnehin schon mal dass die methode eigentlich seiten effekt haben muss denn wenn eine methode keine seiten effekt hat und wo es dann heißt es dass sie
  36. eigentlich gar nichts tut und selbst diese harmlose variante in zuweisungen in zeile 5 ist nicht der firma nur diese eine zahl als
  37. eigenes mini programm betrachte dann ist sie ganz klassisch imperativ der wird dem computer gesagt nimm diese zahl und füge sie der variable zu es gibt keine
  38. rückgabe wert aber es gibt einen seiten effekt nämlich diese variable summe hat danach den wert 0 das kann man sich sehr gut an den
  39. eingebauten sortier methoden von python veranschaulicht was so dazu einmal die pumpt mehr etwas glück indem wir python 3 oder so in unsere kommandozeile
  40. eingeben würden jetzt hier einen passenden ausdruck eingeben sehen wir sofort den rückgabe wert zum beispiel wenn ich ein gerät 4 bis 3 kommt sofort
  41. rückgabe wird sieben wenn ich ein gehweg gibt es gleich vier kommt welcher rücker bewährt woltmann denn dieser ausdruck ist imperativ und
  42. hat keine rückgabe werden armee hat den seiten effekt das jetzt eben xr ich das abrufe plötzlich vier ist was es vorher nicht wahr machen wir jetzt mal
  43. folgendes definiert wir mal eine liste oder eine rail und sagen wir mal das irgendwie so eine liste von so ein paar gemischten zahlen hat zwei eingebaute
  44. vegane liste zu sortieren einen funktionalen und einen imperativen weg der funktionale weg ist in dem wir schreiben uns zu texas
  45. und da kommt sofort zurück die sortierte version der liste das ist eine funktion ganz klassisch wenn ich die gleiche liste bei sortenrein gebe kommt immer
  46. das gleiche ergebnis und es hat keinerlei seiten effekte wenn ich mir die originale liste xs anguckt ist die immer noch unsortiert im gegenzug dazu
  47. gibt es die methode wenn ich dir aufrufe gibt es gar kein rückgabe wird seine weit methode die den seilen effekt hat dass die liste sortiert wird vielleicht
  48. letzte die liste der aufrufe ist die liste sortiert welchen vorteil hat er seine funktionale gegenüber einer imperativen methode
  49. es ist nicht immer besser alles funktional zu schreiben aber anerkannter weise sind funktionale programme oft einfacher zu verstehen das sehen wir
  50. dann auch gleich noch ein beispiel es ist außerdem viel einfacher zu testen denn ich kann jede funktion jede funktional methode isoliert testen denn
  51. bei der gleichen eingabe kommt ja immer die gleiche ausgabe raus und das hängt überhaupt nicht davon ab in welcher reihenfolge ich verschiedene methoden
  52. aufrufe welchen zustand mein programm hat was in meiner datenbank steht ich kann einfach sagen diese methode soll xy berechnen und da kann ich genau ein
  53. automat zwischen test schreiben der das überprüft es ist deswegen insgesamt doch oft weniger fehleranfällig und es kann
  54. leichter zu parallelisieren seien in der praxis wenn man mit großen software system arbeitet ist das oft ein vorteil wenn in sachen parallel laufen können
  55. und bei parallelen prozessen ist der zustand der speicher auf denen alle zugreifen immer so ein problem wenn der ein prozess auf den speicher schreibt
  56. und ein anderer prozess und dann wieder ein anderer das gleichzeitig lesen will dann ist das relativ kompliziert dass sauber hinzukriegen funktionaler bohrung
  57. hat solche probleme nicht weil sie zugegeben ja auch nix speichert und da kommen wir auch zu der begrenzung funktionaler programmierung man kann
  58. natürlich nicht das ganze software system funktional schreiben denn an irgendeinem punkt ist natürlich unabdingbar
  59. mein programm muss ja vielleicht alle möglichen dateien schreiben und lesen datenbanken schreiben und lesen das normal
  60. aber das hätte uns ja nicht davon hab ganz viele methoden trotzdem funktional zu schreiben denn es ist ja nicht so dass jede methode und jeder teil meines
  61. programms wirklich auf zustand zu greifen und zustand schreiben muss das ist in der modernen softwareentwicklung auf jeden fall sehr beliebt große teile
  62. des programms einigermaßen funktionalen zu gestalten da wird oft von zu begriffen wie stainless design gesprochen und state ist das ist mein
  63. positives merkmal das ist kein zustand gibt denn das hat sich einfach bewährt und es hat sich immer wieder gezeigt dass es das leben leichter macht also
  64. hoffentlich bist du damit überzeugt und möchte das jetzt lernen wie man ein programm funktional schreibt da gibt es im wesentlichen zwei methoden eine
  65. methode mit der an der uni oft viel zeit verbracht werden distribution das ist auch nützlich revision zu lernen das ist gut regressiv denken zu können
  66. aber in der praxis ist es schon sehr selten dass er im software entwickler eine region schreibt über die fusion mache ich vielleicht mal ein eigenes
  67. video wir konzentrieren uns heute auf die andere methode die in der praktischen software entwicklung viel wichtiger ist und das sind die funktion
  68. höherer ordnung eine funktion hornung ist grob gesagt eine funktion die eine andere funktion als argument bekommt und oder eine andere funktion zur rückgabe
  69. liefert wir gucken uns gleich die vier wichtigsten funktionen höhere ordnung an das sind webfilter reviews und curry kochen ist als mann der praxis an das
  70. beispiel probleme hier folgendes ausgedacht wir wollen eine funktion schreiben die eine liste mit einer zahl multipliziert
  71. dass der titel ist bekommt eine liste nennt wie max ist und kein feature und du kannst eine liste zurück und das soll dann so gehen dass jede zahl in der
  72. liste mit dieser neuen zahl multipliziert wird wenn wir das ist imperativ lösen wollen würde das ungefähr so gehen wir
  73. definieren eine neue liste die ist am anfang mehr dann gehen wir einmal eine vorfreude durch die liste durch und in dieser
  74. ausgabe listen hängen wir an das nennt das ist schon gab x dem k was reinkommt und und angegeben wie die ausstellung zurück fertig wenn der methode ist
  75. nichts auszusetzen aber wir wollen ja heute funktionale programmierungen lernen und dafür müssen wir vor allem erstmal ein konzept verstehen und dass
  76. ein klassisches pass auf sagen wir wollen eine methode schreiben und diese mit rodeln bekommt einen integer und sie gibt mir zurück eine methode und zwar in
  77. python schreibt man das als kordel und diese neue methode funktion sollte ich sagen bekommt ein integer als argumente gibt ein integer zurück aus technischen
  78. gründen müsse noch importiert [Applaus] das ist jetzt ein spezifisch und nicht weiter spannend und hab ich mir überlegt
  79. dass ich dieser mal funktion eine zahl übergeben und dann bekomme ich eine neue funktion zurück und diese neue funktion macht folgen ist die kriegt eine zahlen
  80. und multipliziert diese zahl mit der vordefinierten zahlen das heißt was ich später machen wenn ich möchte ich etwas schreiben können wie x 2 x 2 und dann
  81. möchte ich schreiben sagen es ist gleich mal 25 und dann soll ich sind wir zehn haben das machen wir indem wir hier eine sub methode definieren mag ich sagt
  82. methode und funktion auch immer völlig gleich bedeutend und diese x iks funktionen bekommt ein y das ist auch wieder ein und die
  83. die eigentliche ist also genau die signatur die wir jetzt rückgabe haben wollen und dann gibt es sechsmal büchse und zu und diese x iks funktion ist
  84. ausgabe unserer meinung zu und das richtige konzept das sind ganz vielen programmiersprachen wichtige konzept ist jedes closer wenn wir mal gucken diese
  85. methode x iks wenn ich diese definition mal raus kopieren und hier unten hin denn er gibt es ja gar keinen sinn denn hier wird auch sofort gemeckert das ist
  86. ja gar nicht definiert ich benutze eine variable die es eigentlich gar nicht geben kann und warum geht es eben doch weil er in dem
  87. kontext ihren diesen zeilen in diesem scopus oder geltungsbereich wie man sagt das ixs definiertes über die äußere funktion und ein kloster heißt jetzt
  88. folgendes indem wir dieses x iks zurückgehen da geben wir nicht einfach nur eine funktion zurück da gehen wir ein kluger zurück und zwar ist dass die
  89. funktion die wir aufgeschrieben haben und ein snapshot des geltungsbereichs in dem sich diese funktion befunden hat das heißt wenn wir uns hier in dieser zeile
  90. befinden hat ixia in besonderen wert wenn das programm durchläuft hat ex einen zugewiesenen wert und diese informationen dieses universum in dem
  91. wir uns befinden dem ixs sagen wir den wert 2 hat das wird zusammengepackt eingeschlossen mit dieser funktion das ist ein klassischer das können wir alle
  92. optionen ausprobieren denn die funktion legalisiert haben und dann wie gesagt zum beispiel seien wir mal drei mal rein
  93. und wenn wir jetzt einen geben mal 3 von 5 15 raus wunderbaren jetzt wollen wir diese funktion höherer ordnung hier das ist ja so eine halbe funktion höhere
  94. ordnung die krieg zwar keine funktion als argument aber sie gibt eine funktion als zur rückgabe wieder die wollen wir benutzen um dieses multipliziere liste
  95. funktionalen neu zu schreiben und das geht so [Applaus]
  96. müsste ich kann der liste und gibt eine liste zurück in erster linie unsere malta funktion anhand es gerade implementierten malz und die ganz
  97. wichtige funktion höherer ordnung die wir benutzen die es in ganz vielen programmiersprachen gibt vor eingebaut ist map map ist gewissermaßen das
  98. funktionale äquivalente der vorschlag die wir oben gesehen haben merck bekommt zwei argumente eine funktion und eine liste und es gibt zurück eine neue liste
  99. die entsteht in dem auf jedes element in der liste die funktion angewendet wird also das glück zurückgeben wollen ist dann unsere malta funktion und die liste
  100. und das war es aus technischen gründen müssen wir noch einmal musterung schreiben dass sich einfach daran dass map in python speziell 1 in tor zurück
  101. gibt auch noch keine liste das ist aber ein unwichtiges detail jetzt gucken wir mal was passiert wenn wir diese neue funktion importieren dann
  102. können wir also eine liste eingeben sagen wir zahlen und keine zahl und halten zurück die whisky die sich ergibt in dem jedes element mit dieser drei
  103. multipliziert wird ein weiteres konzept das in der funktionalen programmierung ganz wichtig ist und anonyme funktion die oft in anderer funktion genannt
  104. werden irgendwann fand eine funktion die viel energie dass ihr normales mit der zb der accenture zurück und sagen wir das bild jetzt einfach +1 serviert ein
  105. anderer weg seine funktion zu definierenden gingen so sagen wir mal am tag sex +1 und wenn wir es jetzt hier ausprobieren
  106. [Applaus] dann sehen wir dass die funktion sich völlig gleich verhalten was hier passiert ist dass mir
  107. dieses schlüsselwort lamda erlaubt eine anonyme funktion eine unbenannte funktion zu definieren könnte das hier unten ein mal so hin kopieren und dann
  108. kommt zurück das ist eine funktion dieser ausdruck hat den wert dieser funktion ohne dass ich in diesem fall ist die funktion irgendeinen namen
  109. gegeben habe und da hat man sich überlegt dass so eine variable zuweisung sind taktisch nicht so schönes deswegen gibt es eben dieses äquivalente format
  110. in dem man das auch schreiben kann eine benannte funktion anstatt jetzt eine anonyme funktion zu definieren die eine variable zuzuweisen
  111. kann ich das gleich mit def hinschreiben das ist aber letztlich nur sind taktische zucker sagt man das ist eigentlich gleichbedeutend was da
  112. passiert gut und wegen der funktionalen polen jungen dadurch dass man so funktionen wie web hat möchte man das ganze oft dass meine funktion mal eben
  113. kurz benutzt die eigentlich aber nicht in unter dem interface anbieten will zum beispiel nur dass hier andere entfernen diese ganze geschichte mit dem
  114. mal da oben ist gut um das mit der klausel zu verstehen aber eigentlich können wir das hier direkt mit einem namen der funktion schreiben und da
  115. sagen wir einfach langsam sechs mal kann ich fühle ist es nicht funktioniert glaubt mir aber das ist schon eine relativ kurze ausdruck da würde ich
  116. schon fast sagen dass ich die version ist seit 18 besser finde als die interaktive version die wir oben hin geschrieben haben in diesem fall ist
  117. dass er das noch relativ einfach aber bei so komplizierten programm wo man mehrere schleifen ineinander vernässten muss kann es oft sein dass man die
  118. funktionale programmierung schöne auftragen kann und dass der leser ist vor allem besser versteht dass er nicht im kopf durch die ganzen verschachteln
  119. schleifen gehen muss und überlegt was hat jetzt welchen wert und in welcher reihenfolge wird was ausgeführt sondern man sieht sofort diesen funktionalen
  120. ausdruck und kann ihnen hoffentlich gut verstehen übrigens möchte ich noch sagen dass bei der version die wir vorher hatten dann
  121. noch ein anderes relativ einfaches konzept eine rolle spielt wir haben hier nämlich eine zweistellige funktion dieser sterne es ja auch eine funktion
  122. s2 argument nimmt und miteinander multipliziert und wir geben zurück eine funktion die nur ein argument kriegt und das andere argument quasi schon
  123. festgelegt ist und dass dann auf multipliziert und dieser vorgang dass meine funktion mit einer bestimmten ständig keiner bestimmten
  124. anzahl argumente nimmt dann ein argument fixiert und eine neue funktion zurück gibt die einstelligkeit weniger hat und noch ein argument in dem fall braucht
  125. das heißt gering dieses prinzip des coachings ist benannt nach einem amerikanischen mathematiker der mit nachnamen wie scary nachdem ist
  126. übrigens sogar eine funktionale programmiersprache benannt und damit meine ich nicht die sprache curry die es gibt aber relativ exotisch ist sondern
  127. die sprache heske wenn man muss halt auch so heske curry und die nach ihm benannte programmiersprache haskell ist gar nicht unbekannt ist wahrscheinlich
  128. die bekannteste der funktionalen programmiersprache es gibt zum beispiel sogar bei facebook ein relativ großes team das ausschließlich in hessen
  129. arbeitet also wir haben abgesehen wir haben impliziter weise hier curry gesehen was man es noch angucken müssen ist zum beispiel filter väter naja
  130. filtert sagen wir wollen eine funktionsreiche größer als die bekommt eine liste und 1 liter und liefert mir eine liste und zwar gefüttert mit nur
  131. denjenigen elementen der liste die größer sind als k das nutzen nicht so schlimm da sieht man hier schon bekommt eine funktion und eine liste und
  132. diese funktion muss ein prädikat sein also eine funktion die wahr oder falsch zurück gibt schreiben wir zb lambda bekommt den gigs und gibt mir zurück
  133. optics größer ist als cover oder falsch und dann kommt noch die liste dazu und wie vorher müssen wir aus technischen gründen noch einmal diesen list rapper
  134. puff und das war es einmal jetzt fotos importieren wir das und probieren aus größer als eine liste zufälliger zahlen und sagen wir alle die größer sind als 3
  135. und bekommt 50 relativ unkompliziert und das letzte wichtige beispiel für die funktion höherer ordnung ist videos videos nimmt eine liste und reduziert
  136. sie auf eine rückgabe welt und das funktioniert so in dem man eine zweistellige funktion über gibt also eine funktion die zwei eingaben kriegt
  137. und einen staat wird und was videos macht dass es nimmt den startwert und das erste element der liste und kombiniert sie zu einem neuen wert den
  138. wir uns mehr dann nimmt es diesen neuen wert und das zweite element der liste und kombiniert sie wieder zu einem neuen
  139. wird dann nimmt es wieder den wert und das dritte element und so weiter ratings mit den menschen programmiersprache noch vor ort oft genannt wenn man von links
  140. nach rechts durch die liste durch geht und immer so zusammenfaltet und bei jedem schritt wird die liste ein element kleiner gucken dass der praxis an
  141. sagen wir wollen eine liste die summe frei die gesagt du dich schon eingebaut aber sagen wir wollen sie schreiben journalisten und gibt zurück ein empty
  142. chair das war die summe aller zahlen in dieser liste das können wir ganz einfach mit news reviews bekommt man jetzt
  143. zweistellige funktion die in diesem fall die beiden argumente einfach auf verliert dann eine liste und ein stadtwerk sein wie 0 und 3 release für
  144. ein wichtiges konzept aber in der modernen welt nicht allzu beliebt ist dann gibt es das nicht mehr eingebaut und die einmal das wieder ausprobieren
  145. dann können wir sagen hier übergeben eine beliebige liste und bekommen die summe der elemente der liste zurück es sei der vollständigkeit halber gesagt
  146. dass das hier nicht der beste weg ist diese funktion in python zu implementieren es ist nämlich so dass python für alles was mit map und filter
  147. zu tun hat eine sehr schöne der syntax anbietet das sind die sogenannten list kompressions wenn wir also diese funktion hier einmal nehmen und dann
  148. noch mal die schöne pfeifen version davon anlegen das geht jetzt nicht in anderen programmiersprachen
  149. da können wir anstatt dieses ganzen gebildes mittel ist untersagen und was wollen wir wollen jedes element der liste x cars schrank einfach hinten
  150. gibt's mal kann felix genn access und das war's und ähnlich schön geht es hierbei dem filter auch da so vollständigkeit halber noch mal die
  151. bessere python version [Applaus] wir wollen jede sixx das größer sei es gerade dann sagen wir einfach okay gib
  152. uns jedes xxx es aber nur wenn nix größer als k und da kann es ehrlich gesagt auch gar keinen zweifel mehr geben ob jetzt diese version hier
  153. die letzte version hier schöner ist es ist viel kürzer viel schöner und funktionaler code und hat damit alle die vorteile funktionaler programmierung
  154. partner ist eben eine besonders ausgefeilte programmiersprache in dem man sowohl imperativ als auch funktional ausgezeichnet programmieren kann und das
  155. sagte grund warum es in der praxis eine der beliebtesten pool mir sprachen ist es wäre sehr falsch zu denken dass es nur so eine skriptsprache für data
  156. systems das gesamte instagram bekenntnis zum beispiel in python geschrieben der grund warum ich das trotzdem erst mal mit merck und väter erklärt haben
  157. ist dass das ihm die übertragbaren konzepte sind es gibt es in ganz vielen verschiedenen premier sprach von einem guten programm er erwarte ich dass er so
  158. was wie merck und väter einfach geld für die java fans unter euch denn ich weiß auch dass an vielen unis sie aber die einstieg sprache ist sind hier noch mal
  159. alle unsere beispiel in java aufgeschrieben hat das video einfach an wenn du dir das in ruhe durchlesen willst du kannst jetzt also die
  160. wichtigsten konzepte funktionaler programmierung gläubigers lande ausdrücke und funktion höherer ordnung zb sowie web filter reviews und curry
  161. damit sich die das besonders gut einprägt habe ich noch drei übungsaufgaben für dich und so habe ich drei funktionen von denen ich möchte
  162. dass du sie mit einem einzeiler implementierte kommt in der implementierung also sofort return und dann ein funktionaler ausdruck und
  163. indikation heißen anzahl gerade und meinte ich für kurzprofil funktionieren soll anzahl gerade bekommt eine liste
  164. und gibt die anzahl der geraden elemente zurück sagen wir zum beispiel ich definieren eine funktion für die bekommt drei verschiedene features
  165. das muss ich drei sein das sagen somit jederzeit funktionieren und was macht die funktion zum beispiel addiert sie die einfach so und jetzt soll ich sagen
  166. sagen wir mal bar ist gleich und zwar über gebe ich ein wenn die funktion und eine zeit ein argument sagen wir finden und ich sollte diese fünf als erstes
  167. argument festgelegt werden war es also noch zwei argumente zum beispiel 3 und 2 und heraus kommt 5 + 3 plus 2 bis 10 und die letzte funktion mein filter kannst
  168. du dir schon denken soll sich einfach genau wie die echte filterfunktion verhalten also zum beispiel meint peter 23
  169. und dann eine liste kommen dann genau die elemente zurück die größer sind als dran ist so also jede dieser funktion mit einem einzeller programmiert werden
  170. da gibt es ganz verschiedene wege wie man das machen kann als zusätzliche einschränkungen deshalb folgendes die erste funktion anzeige gerade solltest
  171. du mit einem reviews und väter programmieren also beides muss irgendwie sinnvoll genutzt werden videos und filter bei der prüfung so mache ich
  172. keine einschränkung aber beim ein filter musst du ausschließlich reviews benutzen keine anderen funktion höherer ordnung natürlich kannst du in allen drei fällen
  173. lambda ausdrücke benutzen wenn du die lösung weist egal ob in java und python ich habe selbst nur ein python gemacht schreibt unten kommentar mit der lösung
  174. am liebsten schreibt davon spot mit ein paar zeilen oder punkten oder so damit dass nicht sofort angezeigt wird also ich bin gespannt wer ist dass er raus
  175. gericht und was der lösung kommen und ich appelliere vor allem an dich wenn du neu bist in funktionaler programmierung das wirklich mal zu machen und die
  176. lösung hin zu schreiben wenn du irgendwelche fragen oder anmerkungen hast freue ich mich wie immer über deinen kommentar wenn ihr das video
  177. gefallen hat geht einen daumen hoch es hilft aber nie den kanal wenn es noch nicht gemacht hast bist du halt im nächsten video
  178. [Musik]

Zum Nachlesen