«functional-programming» etiketlenmiş sorular

Fonksiyonel programlama, çıktıları program durumundan ziyade girdileri ile belirlenen fonksiyonların zincirli değerlendirmesi ile hesaplama problemlerini çözmeye çalışan bir paradigmadır. Bu programlama tarzında, yan etkiler ve değişken veriler kullanımdan kaldırılmıştır ve genellikle kesin olarak izole edilmiştir.


4
Şemadan ne öğrenmeliyim?
Daha iyi bir programcı olmama yardımcı olacak Scheme'den hangi benzersiz özellikleri öğrenebileceğimi merak ediyordum. Anaakım dillerde çok deneyimim var ve ufkumu genişletmek ve diğer dillerden eksik olan fonksiyonel yönleri öğrenmek istiyorum. Javascript, C # lambda ifadeleri kapanışları hakkında bilgi sahibiyim ve diğer dillerde eksik olan ne odaklanabilir merak ediyorum? Lisp …

2
İşlevsel programlama dilleri yan etkilere izin vermiyor mu?
Wikipedia'ya göre, Deklaratif olan fonksiyonel programlama dilleri , yan etkilere izin vermiyorlar. Genel olarak deklaratif programlama , yan etkileri en aza indirmeye veya ortadan kaldırmaya çalışır. Ayrıca, Wikipedia'ya göre, bir yan etki durum değişiklikleriyle ilgilidir. Yani, işlevsel programlama dilleri, bu anlamda, hiçbir durumu kaydetmedikleri için aslında yan etkileri ortadan kaldırırlar. …

1
İşlevsel stil alay bağımlılıklarına nasıl yardımcı olur?
Yakın zamanda bir Java Dergisi sayısında Kent Beck ile yapılan röportajdan: Binstock: Mikro hizmetlerden bahsedelim. Bana göre, mikro hizmetlerde ilk test, bazı hizmetlerin işlev görmesi için bir dizi başka hizmetin varlığına ihtiyaç duyması açısından karmaşık hale gelecektir. Katılıyor musun? Beck: Bir büyük sınıfa veya çok sayıda küçük sınıfa sahip olmakla …


5
En İyi Uygulama - İşlev çağrısı etrafında sarma vs Muhafaza işlevinde ise erken çıkış ekleme
Bunun çok kullanışlı-duruma özgü olabileceğini biliyorum, ama kendimi bunu çok sık merak ediyorum. Genel olarak tercih edilen bir sözdizimi var mı? Bir işlevdeyken en iyi yaklaşımın ne olduğunu sormuyorum, erken çıkmam mı yoksa işlevi çağırmamam gerektiğini soruyorum. Wrap eğer etrafında işlev çağrısı if (shouldThisRun) { runFunction(); } Var ise ( …

3
İşlevsel programlamada atama operatörü veya döngülerin kullanımı neden önerilmez?
İşlevim iki gereksinimin altındaysa, Sum verilen koşul için öğenin doğru olarak değerlendirildiği bir listedeki öğelerin toplamını döndürmek işlevinin saf işlev olarak nitelendirilebileceğine inanıyorum, değil mi? 1) Verilen i / p seti için, fonksiyon çağrıldığı zamandan bağımsız olarak aynı o / p döndürülür 2) herhangi bir yan etkisi yoktur public int …

6
nesnem değiştirilebilirse, işlevsel programlama bağlamında ne ters gidebilir?
Değişmez nesneler gibi değişebilir nesnelerin faydalarının, paylaşılan ve yazılabilir durum nedeniyle çok iş parçacıklı programlamadaki sorunları gidermek için çok fazla zaman harcadığını görebiliyorum. Aksine, değiştirilebilir nesneler her seferinde yeni kopya oluşturmak yerine nesnenin kimliğiyle başa çıkmaya yardımcı olur ve böylece özellikle büyük nesneler için performans ve bellek kullanımını geliştirir. Anlamaya …

2
Fonksiyonel JavaScript kodunu nasıl okuyabilirim?
JavaScript'te fonksiyonel programlamanın altında yatan temel kavramların bazılarını / çoğunu / çoğunu öğrendiğime inanıyorum. Ancak, özellikle fonksiyonel kod, hatta yazdığım kod okumakta sorun var ve herkes bana yardımcı olabilecek herhangi bir işaretçi, ipuçları, en iyi uygulamalar, terminoloji, vb verebilir olup olmadığını merak ediyorum. Aşağıdaki kodu alın. Bu kodu yazdım. İki …

1
Redux'daki ilkeleri OO dillerine uygulamak mantıklı mı?
Redux aslında işlevsel bir programlamadır ve çok mantıklıdır. Farklı bir projede javascript olmayan bir OOP diline geri döndüğümde, tek durumlu nesne, bu durumun bazı kısımlarında etkili olan redüktörler, durumu değiştirmek için bir semantik eylemler iş katmanı gibi aynı ilkeleri uygulamak istiyorum. Projem C ++ 'da ve uygulamayı tasarlamak için işlevsel, …

2
Fonksiyonel dillerde iki boyutlu masa oyunları için veri yapısı
İşlevsel programlama dili Elixir'de basit bir MiniMax uygulaması oluşturuyorum . Birçok mükemmel bilgi oyunu (tic tac toe, connect-four, dama, satranç vb.) Olduğundan, bu uygulama bu oyunlardan herhangi biri için oyun AI'ları oluşturmak için bir çerçeve olabilir. Bununla birlikte, karşılaştığım bir sorun, bir oyun durumunun işlevsel bir dilde düzgün bir şekilde …

3
Bir işlev başka bir işlevden değer alan saf kabul edilir mi?
Yan etkileri olmayan işlevler yaparken varsayılan değişken değerleri işlemek için bir yol bulmaya çalışıyorum ve aşağıdaki ile sona erdi: function getDefaultSeparator() { return ':'; } function process(input, separator) { var separator = separator || getDefaultSeparator(); // Use separator in some logic return output; } Varsayılan ayırıcı diğer işlevlerde kullanılacaktır ve …

3
Tür tabanlı değişmezlere işlevsel programlama yanıtı nedir?
Değişmez kavramının birçok programlama paradigmasında var olduğunun farkındayım. Örneğin, döngü değişmezleri OO, fonksiyonel ve prosedürel programlama ile ilgilidir. Bununla birlikte, OOP'de bulunan çok yararlı bir tür, belirli bir türdeki verilerin değişmezidir. Başlığında "tip tabanlı değişmezler" diyorum. Örneğin, bir Fractiontipte bir numeratorve olabilir ve denominatordeğişmezi ile gcd'leri her zaman 1'dir (yani, …

1
“Akı” ve saf fonksiyonel reaktif programlama arasındaki ilişki nedir?
Flux, anladığım kadarıyla, bir uygulamanın veri akışını tek yönlü olarak ele alma, programın geri kalanından izole edilen durumu, dinleyerek kendi durumunu değiştirebilen salt okunur, bağımsız "mağazalarda" tutma konusunda bir tekniktir. görünümler tarafından yayılan ve dağıtım programları tarafından gönderilen "eylemler". Veya kısaca - durumu kontrol etmenin bir yolu. Bu doğruysa, Fonksiyonel …

1
Haskell'in tip sisteminin arkasındaki teoriyi anlamak için matematik gerekli miydi?
Son zamanlarda Haskell ile derinden ilgilenmeye başladım. Genel olarak yeni kavramlar (örneğin forall anahtar kelimesi ve ST monad ) ve Haskell'in tip sistemini öğrenmeye çalışırken , sürekli olarak kategori teorisi ve lambda hesabından kavramlarla karşılaşıyorum . Merak ediyorum: Haskell'in tip sisteminin güçlü bir şekilde anlaşılması için başka hangi matematik dalları …

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.