Reaktif-muz kullanırken ui öğelerinin içeriğini nasıl elde edersiniz? Olay0, denetimin türü yerine birim türüne sahip Event()
türünde bir olay döndürür. event1, Event w (a -> IO())
türünde bir olayı alır, ancak komut Event w (IO())
türüdür. mapAccumE ve mapAccumB, saf işlevleri parametre olarak alır, bu nedenle get text foo
bunlarla kullanılamaz.Reaktif banana-wx ile UI girişi
cevap
Temel olarak, veri yerine işlevlerle çalışmak istiyorsunuz. "Bir kutuda geçerli metne sahip olan bir davranışı nasıl oluşturabilirim" diye düşünmüyorsanız, yapmazsınız. Bunun yerine, geçerli metni bir parametre olarak alan ve gerektiğinde ileten işlevler yazarsınız. Bir düğmeye basıldığında bir metin kutusunun içeriğini yazdırmak istediğinizi varsayalım. O zaman böyle bir şey yapacağını: Bir Davranış içine girdi almak gerekiyorsa
eButton :: NetworkDescription (Event())
eButton = event0 button command
network = do
pressButton <- eButton
reactimate $ (\() -> get text foo >>= print) <$> pressButton
, sen benzer tip Behavior (String -> a)
(ya da her türlü tür gerekir) olan bir işlev kullanabilirsiniz ve sonra sadece az dizeyi geçmesi reactimate
çağrı noktası. Ben bir çok önemli özelliği ihmal bugün keşfetti
(konuşma reactive-banana yazarı. Geç cevap için üzgünüm, soruların olasılığı :-). Aklımı bile geçmedim Burada isteniyor) kütüphane: bir UI elemanının içeriğini Behavior
olarak almak. Utanç verici! : -D
John, geçerli geçici çözümü açıklar, ancak reaktif muzun bir sonraki sürümü, eksik özelliği içerir.
DÜZENLEME: Şimdi bir fonksiyonu şeklinde işlevselliği içeren reaktif muz version 0.4 yayımlandı
fromPoll :: IO a -> NetworkDescription (Behavior a)