«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.

14
Orta ölçekli Clojure örnek uygulaması?
"En iyi uygulamalar" örneği olarak kullanılabilecek orta ölçekli bir Clojure örnek uygulaması var mı ve böyle bir uygulamanın kod ve kod organizasyonu açısından nasıl görüneceğini görmenin iyi bir yolu var mı? Bir web uygulaması benim için özellikle ilginç olurdu, ancak en önemlisi, programın yaygın olarak yararlı bir şey yapması (örneğin, …


10
Scala'da ikiden fazla listeyi birlikte sıkıştırabilir miyim?
Aşağıdaki Scala Listesi verildiğinde: val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) Nasıl alabilirim: List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) Zip yalnızca iki Listeyi birleştirmek için kullanılabildiğinden, ana Listeyi bir şekilde yinelemeniz / azaltmanız gerektiğini düşünüyorum. Şaşırtıcı olmayan bir şekilde, aşağıdakiler çalışmıyor: scala> …

5
Bir diziden akış yaparken neden tam sayıları dizelerle eşleyemiyorum?
Bu kod çalışır (Javadoc'ta alınmıştır): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Bu derlenemez: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA bana "lambda ifadesinde uyumsuz bir dönüş türü String" olduğunu …

5
tür çıkarımı uygulama
Burada statik ve dinamik yazım hakkında bazı ilginç tartışmalar görüyorum. Genelde, derleme türü denetimi, daha iyi belgelenmiş kod vb. Nedeniyle statik yazmayı tercih ederim. Ancak, örneğin Java'nın yaptığı gibi yapılırsa kodu karıştıracaklarını kabul ediyorum. Bu yüzden, kendime ait işlevsel bir stil dili oluşturmaya başlamak üzereyim ve yazı çıkarımı uygulamak istediğim …


1
Çalışan adam için birleştiricilerin açıklaması
Birleştirici nedir? Bu mi "serbest değişkenli bir fonksiyon ya da tanımı" (böylece tarif edildiği gibi)? Ya da şuna ne dersiniz: John Hughes'un Oklar hakkındaki ünlü makalesine göre, "bir birleştirici, program parçalarından program parçalarını oluşturan bir işlevdir" , bu avantajlıdır çünkü "... birleştiricileri kullanan programcı istenenlerin çoğunu oluşturur her ayrıntıyı elle …



9
İşlevsel programlama dilleri nasıl çalışır?
İşlevsel programlama dilleri herhangi bir durumu kaydedemezse, bir kullanıcıdan gelen girdileri okumak gibi basit şeyleri nasıl yaparlar? Girişi nasıl "saklarlar" (veya bu konuyla ilgili herhangi bir veriyi saklarlar?) Örneğin: Bu basit C şeyi Haskell gibi işlevsel bir programlama diline nasıl çevrilebilir? #include<stdio.h> int main() { int no; scanf("%d",&no); return 0; …

8
İşlevsel diller (özellikle Erlang) nasıl / neden iyi ölçeklenir?
Bir süredir işlevsel programlama dillerinin ve özelliklerinin artan görünürlüğünü izliyorum. Onlara baktım ve itirazın nedenini görmedim. Daha sonra yakın zamanda Codemash'ta Kevin Smith'in " Erlang'ın Temelleri" sunumuna katıldım . Sunumdan keyif aldım ve işlevsel programlamanın birçok özelliğinin iş parçacığı / eşzamanlılık sorunlarından kaçınmayı çok daha kolaylaştırdığını öğrendim. Durum ve değişkenlik …

5
Ruby Kuyruk Çağrısı Optimizasyonu gerçekleştirir mi?
İşlevsel diller, birçok sorunu çözmek için özyinelemenin kullanılmasına yol açar ve bu nedenle çoğu, Kuyruk Çağrısı Optimizasyonu (TCO) gerçekleştirir. TCO, başka bir işlevden (veya kendisinden, bu durumda bu özellik TCO'nun bir alt kümesi olan Kuyruk Özyineleme Eliminasyonu olarak da bilinir) bir işleve yeni bir yığın çerçevesine ihtiyaç duyulmaması için o …

6
Javascript'te polimorfizm nedir?
İnternette polimorfizm üzerine bulabildiğim bazı olası makaleleri okudum . Ama bunun anlamını ve önemini tam olarak kavrayamadığımı düşünüyorum. Makalelerin çoğu, neden önemli olduğunu ve OOP'de (elbette JavaScript'te) polimorfik davranışa nasıl ulaşabileceğimi söylemiyor. Herhangi bir kod örneği veremiyorum çünkü onu nasıl uygulayacağım konusunda fikrim yok, bu yüzden sorularım aşağıdadır: Bu ne? …

1
Listedeki listeleri nasıl sıkıştırabilirim?
Aşağıdaki liste listesini sıkıştırmak istiyorum: >>> zip([[1,2], [3,4], [5,6]]) [[1,3,5], [2,4,6]] Bu, mevcut zipuygulamayla ancak liste ayrı bileşenlere bölünürse başarılabilir : >>> zip([1,2], [3,4], [5,6]) (1, 3, 5), (2, 4, 6)] Listenin nasıl bölüneceğini ve tek tek öğelerin nasıl aktarılacağını çözemiyorum zip. Fonksiyonel bir çözüm tercih edilir.


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.