Programowanie funkcjonalne to paradygmat programowania oparty na budowaniu abstrakcji za pomocą funkcji, unikaniu skutków ubocznych i zmianie stanu. Czyste funkcjonalne programowanie jest bezpieczne dla wątków.
Czytałem ostatnio wiele rzeczy na temat programowania funkcjonalnego i rozumiem większość z nich, ale jedyną rzeczą, której po prostu nie mogę zawinąć, jest kodowanie bezstanowe. Wydaje mi się, że uproszczenie programowania poprzez usunięcie stanu zmiennego jest jak „uproszczenie” samochodu poprzez usunięcie deski rozdzielczej: gotowy produkt może być prostszy, ale powodzenia …
Próbuję dowiedzieć się o nowych zastosowaniach javascript jako języka serwera i języka funkcjonalnego. Kilka dni temu słyszałem o node.js i express framework. Potem zobaczyłem underscore.js jako zestaw funkcji narzędziowych. Widziałem to pytanie przy przepełnieniu stosu . Mówi, że możemy użyć underscore.js jako silnika szablonów. każdy zna dobre samouczki na temat …
Czasami, gdy czytam artykuły w ekosystemie Scala, czytam termin „podnoszenie” / „podniesienie”. Niestety nie wyjaśniono, co to dokładnie znaczy. Przeprowadziłem pewne badania i wydaje się, że podnoszenie ma coś wspólnego z wartościami funkcjonalnymi lub coś w tym rodzaju, ale nie byłem w stanie znaleźć tekstu, który wyjaśnia, czym właściwie jest …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte w zeszłym roku . Popraw to pytanie Czytałem artykuły z Wikipedii dotyczące programowania proceduralnego i programowania funkcjonalnego …
Co jakiś czas, gdy programiści narzekają na zerowe błędy / wyjątki, ktoś pyta, co robimy bez wartości zerowej. Mam podstawowe pojęcie o fajności typów opcji, ale nie mam wiedzy ani umiejętności językowych, aby najlepiej to wyrazić. Jakie jest świetne wytłumaczenie poniższych słów napisane w sposób przystępny dla przeciętnego programisty, na …
Powiedzmy, że chcę sumować a.xdla każdego elementu arr. arr = [{x:1},{x:2},{x:4}] arr.reduce(function(a,b){return a.x + b.x}) >> NaN Mam powody sądzić, że topór jest w pewnym momencie niezdefiniowany. Następujące działa dobrze arr = [1,2,4] arr.reduce(function(a,b){return a + b}) >> 7 Co robię źle w pierwszym przykładzie?
Kilka razy spotkałem się z terminem „Functor” podczas czytania różnych artykułów na temat programowania funkcjonalnego, ale autorzy zazwyczaj zakładają, że czytelnik już rozumie ten termin. Rozglądanie się w Internecie dostarczyło albo zbyt technicznych opisów (patrz artykuł Wikipedii ), albo niezwykle niejasne opisy (patrz sekcja Functors na tej stronie z samouczkiem …
Czy istnieje javascript równoważny z funkcją zip Pythona? Oznacza to, że biorąc pod uwagę wiele tablic o równej długości, należy utworzyć tablicę par. Na przykład, jeśli mam trzy tablice, które wyglądają tak: var array1 = [1, 2, 3]; var array2 = ['a','b','c']; var array3 = [4, 5, 6]; Tablica wyjściowa …
Powiedzmy, że masz: List<string> los = new List<string>(); W tym szalonym funkcjonalnym świecie żyjemy w dzisiejszych czasach, który z nich byłby najlepszy do stworzenia jednego ciągu poprzez połączenie tych: String.Join(String.Empty, los.ToArray()); StringBuilder builder = new StringBuilder(); los.ForEach(s => builder.Append(s)); string disp = los.Aggregate<string>((a, b) => a + b); lub Zwykły …
Obecnie pracuję nad platformami React JS i React Native . W połowie drogi natknąłem się na bibliotekę Immutability lub Immutable-JS , kiedy czytałem o implementacji Flux i Redux na Facebooku. Pytanie brzmi: dlaczego niezmienność jest tak ważna? Co jest złego w mutowaniu obiektów? Czy to nie ułatwia rzeczy? Podając przykład, …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie Inżynieria oprogramowania, jak się ją obecnie uczy, koncentruje się całkowicie na programowaniu …
Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Przeczytałem kilka tekstów o programowaniu deklaratywnym / funkcjonalnym (językach), sam wypróbowałem Haskell, a także sam napisałem. Z tego, co widziałem, programowanie funkcjonalne ma kilka zalet …
Nauczyłem się podstawowej różnicy między foldLeftireduceLeft foldLeft: wartość początkowa musi zostać przekazana zmniejszLeft: przyjmuje pierwszy element kolekcji jako wartość początkową zgłasza wyjątek, jeśli kolekcja jest pusta Czy jest jakaś inna różnica? Czy jest jakiś konkretny powód, aby mieć dwie metody o podobnej funkcjonalności?
Częściowe zastosowanie jest fajne. Jaką funkcjonalność functools.partialoferuje nie można uzyskać przez lambdas? >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> incr2 = functools.partial(sum2, 1) …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.