Funktionen höherer Ordnung sind Funktionen, die entweder Funktionen als Argumente verwenden oder als Ausgabe (oder beides) zurückgeben. Sie sind ein Eckpfeiler der funktionalen Programmierung.
Haskell (mit dem GHCCompiler) ist viel schneller als erwartet . Bei richtiger Verwendung kann es den Sprachen auf niedriger Ebene nahe kommen. (Eine Lieblingsbeschäftigung von Haskellers ist es, zu versuchen, innerhalb von 5% von C zu kommen (oder es sogar zu übertreffen, aber das bedeutet, dass Sie ein ineffizientes C-Programm …
Ich habe den grundlegenden Unterschied zwischen foldLeftund gelerntreduceLeft foldLeft: Anfangswert muss übergeben werden reduziere: Nimmt das erste Element der Sammlung als Anfangswert löst eine Ausnahme aus, wenn die Sammlung leer ist Gibt es noch einen anderen Unterschied? Gibt es einen bestimmten Grund für zwei Methoden mit ähnlicher Funktionalität?
Zum Beispiel möchte ich ein Array aus den Elementen in dieser Zeichenfolge erstellen: $str = 'red, green, blue ,orange'; Ich weiß, dass du explodieren und sie durchschleifen und trimmen kannst: $arr = explode(',', $str); foreach ($arr as $value) { $new_arr[] = trim($value); } Aber ich habe das Gefühl, dass es …
Ich versuche, die ES6-Pfeilfunktion zu verwenden .filter, um Erwachsene (Jack & Jill) zurückzugeben. Es scheint, dass ich keine if-Anweisung verwenden kann. Was muss ich wissen, um dies in ES6 zu tun? var family = [{"name":"Jack", "age": 26}, {"name":"Jill", "age": 22}, {"name":"James", "age": 5 }, {"name":"Jenny", "age": 2 }]; let adults …
Beim Lesen dieses klassischen Papiers bin ich auf Paramorphismen fixiert. Leider ist der Abschnitt ziemlich dünn und die Wikipedia-Seite sagt nichts. Meine Haskell-Übersetzung lautet: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h …
Heutzutage versucht jeder, diese Art von Funktionen höherer Ordnung zu verwenden, um vielversprechende Ergebnisse mit weniger Code zu erzielen. Aber ich frage mich, wie diese Funktionen intern funktionieren. Angenommen, ich schreibe so etwas var numbers = [16, 25, 36]; var results = numbers.map(Math.sqrt); console.log(results); // [4, 5, 6] Führen Sie …
Mir scheint, dass Sie immer Funktionsargumente übergeben können, anstatt eine Typklasse zu verwenden. Zum Beispiel, anstatt eine Gleichheitstypklasse zu definieren: class Eq a where (==) :: a -> a -> Bool Die Verwendung in anderen Funktionen zur Angabe des Typarguments muss eine Instanz von Eq: elem :: (Eq a) => …
Dies ist der Code, auf den ich irgendwo gestoßen bin, aber ich möchte wissen, wie das funktioniert: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) Ausgabe: findIndices (== 0) [1,2,0,3,0] == …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 7 Monaten . Vor kurzem versuche ich, Haskell in einigen meiner …
Ich habe zwei Objekte wie dieses: let obj1 = { slotIDs: ["5e0301f353ee2a0546298f15"] } let obj2 = { slotIDs: ["5e0301f353ee2a0546298f15", "5e03050453ee2a0546298f1c"] } Ich muss sie in einem einzigen Array wie diesem zusammenführen let newObj = ["5e0301f353ee2a0546298f15", "5e03050453ee2a0546298f1c"] Ich habe versucht, lodash union und map zu verwenden, aber kein Glück.
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.