2016-04-11 10 views
1

Core.async'in karışımlarını deniyorum. Bir karışımda bir giriş kanalının susturulması, geri tepmeyi gerçekleştirmenin olası yollarından biri olacaktır. Ben aşağıdaki kodu kullanıyorum: REPLcore.async geçiş kanalı karışımı

CompilerException java.lang.IllegalArgumentException: No implementation of method: :toggle* of protocol: #'clojure.core.async/Mix found for class: java.lang.Boolean verir içinde

(def output-chan (chan)) 
(def input-chan (chan)) 
(def mixer (admix (mix output-chan) input-chan)) 
(toggle mixer {input-chan {:mute true}}) 

son satırı değerlendirilmesi.

Yukarıdaki örnek kodda sorun nedir?

Teşekkürler!

cevap

1

(def karıştırıcı (admix (çıkış-chan mix) girdi-chan))

Bir boolean değil beklenen karıştırıcıdır mixer için admix dönüş değeri atamak. Deneyin:

(def output-chan (chan)) 
(def input-chan (chan)) 
(def mixer (mix output-chan)) 
(admix mixer input-chan) 
(toggle mixer {input-chan {:mute true}}) 
+0

Çok teşekkürler! Ben mikserin mutabilitesine karıştığımı düşünüyorum. – siphiuel