Sadece belirli mesajları filtreleyen başka bir kanaldan clojure.core.async
bir kanal oluşturmak istiyorum. Bu nedenle filtre < adlı bir işlev buldum.Dönüştürücülerden başka bir kanal nasıl oluşturulur?
=> (def c1 (chan))
=> (def c2 (filter< even? c1))
=> (put! c1 1)
=> (put! c1 2)
=> (<!! c2)
2
Ama fonksiyonu ve onun arkadaşları kaldırılmış olarak işaretlenir:
kullanımdan kaldırıldı - bu işlev kaldırılacaktır. Kullanım dönüştürücü yerine
xform
parametreyle chan
gibi dönüştürücü ile kanalları kullanmak için bazı yolları vardır. Dönüştürücüler kullanarak mevcut bir sistemden yeni bir kanal nasıl oluşturabilirim? Bu konuda biraz araştırma yaptım
ben 'pipe' kullanarak Facory yöntemi yarattı sizin esinlenerek. (-chan [ci xf] 'dan (izin [co (chan 1 xf)] (boru kaynağı) co)) – sschmeck
güzel, memnun olabilirim. –
Diğerlerinin arama yapması durumunda yanıtı denemek ve tamamlamak için fabrika yönteminizin bir sürümünü ekledim. –