«functional-programming» etiketlenmiş sorular

Fonksiyonel programlama, fonksiyonları kullanarak soyutlamalara dayanan, yan etkilerden ve durum değişikliğinden kaçınan bir programlama paradigmasıdır. Saf fonksiyonel programlama iş parçacığı için güvenlidir.

9
Java SE 8'de Çiftler veya Tuples var mı?
Java SE 8'de tembel fonksiyonel işlemler ile oynuyorum ve bir çift / tuple için mapbir indeks istiyorumi(i, value[i]) , sonra filterikinci value[i]elemente dayanıyorum ve nihayet sadece endeksler çıktı istiyorum. Hala acı çekmeliyim: Java C + + Pair <L, R> eşdeğeri nedir?lambdas ve akarsuların cesur yeni döneminde? Güncelleme: Aşağıdaki cevaplardan birinde …

7
Functools kısmi ne yapıyor?
Ben functools kısmi nasıl çalışır hakkında başımı alamıyorum. Buradan aşağıdaki kodu aldım : >>> 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, …


6
Java 8 akış API'sında sayarak gruplama
Gruplama yapmak için Java 8 akışı API'sinde basit bir yol bulmaya çalışıyorum, bu karmaşık yolla çıkıyorum! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { e.getKey(), String.valueOf(e.getValue().size()) }) .collect(Collectors.toList()); collect2.forEach(o -> …



9
Fonksiyonel ve zorunlu programlama dilleri arasındaki fark nedir?
C #, Visual Basic, C ++ ve Java gibi nesne yönelimli programlama (OOP) dilleri de dahil olmak üzere ana akım dillerin çoğu öncelikli olarak zorunlu (yordamsal) programlamayı desteklemek üzere tasarlanmıştır, oysa Haskell / gofer benzeri diller tamamen işlevseldir. Herkes bu iki programlama yolu arasındaki farkın ne olduğunu açıklayabilir mi? Programlamanın …

23
Node.js'de eşzamansız işlevlerin uzun süre iç içe yerleştirilmesi nasıl önlenir
Bir DB bazı verileri görüntüleyen bir sayfa yapmak istiyorum, bu yüzden benim DB bu verileri almak bazı işlevler oluşturduk. Ben Node.js'de sadece bir acemi değilim, anladığım kadarıyla, hepsini tek bir sayfada (HTTP yanıtı) kullanmak istiyorsanız hepsini yuvalamak zorundayım: http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); var html = "<h1>Demo page</h1>"; …

2
Zygohistomorfik prepromorfizmlerin gerçek dünyadaki uygulamaları
Evet, bunlar : {-#LANGUAGE TypeOperators, RankNTypes #-} import Control.Morphism.Zygo import Control.Morphism.Prepro import Control.Morphism.Histo import Control.Functor.Algebra import Control.Functor.Extras import Control.Functor.Fix import Control.Comonad.Cofree zygohistomorphic_prepromorphism :: Functor f => Algebra f b -> GAlgebra f (ZygoT (Cofree f) b) a -> (f :~> f) -> FixF f -> a zygohistomorphic_prepromorphism f = g_prepro …

7
Foldr veya foldl (veya foldl ') ile ilgili sonuçlar
İlk olarak, okuduğum Gerçek Dünya Haskell asla kullanmamayı foldlve kullanmamayı söylüyor foldl'. Bu yüzden ona güveniyorum. Ama ne zaman kullanacağım konusunda foldrpusluyum foldl'. Onların önümde farklı bir şekilde nasıl çalıştıklarının yapısını görebilsem de, "hangisinin daha iyi" olduğunu anlamayacak kadar aptalım. Sanırım her ikisi de aynı cevabı ürettiklerinden hangisinin kullanıldığının önemli …

13
C'de fonksiyonel programlama için hangi araçlar var?
Son zamanlarda C ( değil C ++) fonksiyonel programlama yapmaya gitmek hakkında çok düşünüyordum . Açıkçası, C prosedürel bir dildir ve doğal olarak işlevsel programlamayı gerçekten desteklemez. Dile bazı işlevsel programlama yapıları ekleyen herhangi bir derleyici / dil uzantısı var mı? GCC, dil uzantısı olarak iç içe geçmiş işlevler sağlar …

3
Koleksiyonda bir nesnenin olup olmadığını kontrol etmek için lodash'ta içerme yöntemini nasıl kullanırım?
lodash, temel veri türlerinin üyeliğini kontrol etmeme izin veriyor includes: _.includes([1, 2, 3], 2) > true Ancak aşağıdakiler çalışmıyor: _.includes([{"a": 1}, {"b": 2}], {"b": 2}) > false Bu kafamı karıştırıyor çünkü bir koleksiyonda arama yapan aşağıdaki yöntemler gayet iyi görünüyor: _.where([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} _.find([{"a": …

14
Lambda ile JDK8 kullanarak akışları sıkıştırma (java.util.stream.Streams.zip)
Lambda b93 ile JDK 8'de, b93'te akışları sıkıştırmak için kullanılabilecek bir java.util.stream.Streams.zip sınıfı vardı (bu, Java8 Lambdas'ı Keşfetme dersinde gösterilmiştir. Dhananjay Nene tarafından Bölüm 1 ). Bu işlev: Öğeleri iki akışın öğelerini birleştirmenin sonucu olan tembel ve sıralı bir birleşik Akış oluşturur. Ancak b98'de bu ortadan kayboldu. Infact, b98'de java.util.stream'deStreams …

4
Swift Derleyici Hatası: Dize birleştirmesinde “İfade çok karmaşık”
Bunu her şeyden çok eğlenceli buluyorum. Çözdüm, ama sebebini merak ediyorum. İşte hatadır: DataManager.swift:51:90: Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions. Neden şikayet ediyor? Mümkün olan en basit ifadelerden biri gibi görünüyor. Derleyici columns + ");";bölümü gösterir func tableName() …

7
Lapply ve do.call arasındaki fark nedir?
Son zamanlarda R öğreniyorum ve iki işlevle karıştırıyorum: lapplyve do.call. Görünüşe göre mapLisp'teki işleve benzerler . Ama neden böyle farklı bir isme sahip iki fonksiyon var? R neden sadece denilen bir işlevi kullanmıyor map?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.