2012-03-11 21 views
7

Birkaç hafta içinde başlayan bir ders için bazı ders materyalleri yazıyorum. Öğrencilerin öğrenmesi için Clojure'ı yeni bir dil olarak seçtim. Emir kodunun işlevsel koda yeniden yönlendirilmesi için bir bölüm ayırmak istiyorum. Bunun için, ne kadar zorlayıcı ve işlevsel çözümlerin karşılaştırıldığını gösterebileceğim bir dizi pratik sorunla karşılaşmak istiyorum. Tercihen problemler, Euler projesi gibi matematik üzerinde bir vurguya sahip DEĞİLDİR, ancak ortalama bir programcının düzenli olarak ele alması gereken problemlerdir. Bunun için kimi iyi kaynakları var?Pratik sorunlara karşı işlevsel çözümlere karşı güzel örneklere örnekler

Kısmi yanıt: Böyle bir kaynak http://langref.org/. Daha fazla istedim!

cevap

5

Gerçekten pratik olmasa da (bir sınıfta sunulacak kadar pratik sorunlar, biraz sıkıcı olma eğilimi gösterdiği için), Hayat Oyununun programlanması yeni bir dil öğrenmek için en sevdiğim yollardan biridir. Bir ikramiye olarak, işlevsel yaklaşım, zorunlu çözümlerden oldukça farklıdır (ve daha zarif). Ek olarak, veri dizilerini manipüle ettiğiniz herhangi bir problem (örneğin, kelime frekansı için bir dizi tweet analizi veya bir şey gibi), harika örnekler sunar.

3

Bu eski bir kestane, ama sadece farklı şekillerde bir faktörü işlevi uygulamak oldukça aydınlatıcı. Diğer bir yaygın örnek, biraz daha büyük olabilen bir asal sayı üretecidir.

Bunların her ikisinin de matematik örnekleri olduğunu anlıyorum, ancak sadece temel bilgi gerektirirler.