考慮下面的代碼:`valueB`如何工作?它總是返回相同的值?
module Main where
import Control.Event.Handler
import Reactive.Banana
import Reactive.Banana.Frameworks
main :: IO()
main = do
(addHandler, fire) <- newAddHandler
compile (network addHandler) >>= actuate
fire "fire one"
fire "fire two"
network :: AddHandler String -> MomentIO()
network addHandler = do
fireEvent <- fromAddHandler addHandler
behavior <- stepper "initial stepper value" fireEvent
behaviorValue <- valueB behavior
reactimate $ putStrLn . (\v -> "fire input: " ++ show v) <$> fireEvent
reactimate $ print behaviorValue <$ fireEvent
該程序的輸出:
fire input: "fire one"
"initial stepper value"
fire input: "fire two"
"initial stepper value"
我使用valueB
是否正確?如果不是,我做錯了什麼? valueB
的用途是什麼?我什麼時候可以使用它?
我終於認識到'valueB'出於某種原因在文檔的「高階」部分,並且它可能最經常與其他更高階的操作(如switchB)一起出現。它是否正確? – Buttons840
@ Buttons840是的,正好。 :-) –