如何在 Elm 中 Debug.log 发出信号?

How to Debug.log a signal in Elm?

我正在尝试在我的程序中引入一个新信号,其主要功能如下所示:

main : Signal Html
main =
  Signal.map2 view Window.dimensions model

(更多上下文 here

要设计我的新信号,我想从这个开始:

clicks : Signal (Int, Int)
clicks =
  Signal.sampleOn Mouse.clicks Mouse.position

我可以得到这个信号:

Signal.map (Debug.log "click") clicks

但是,我不确定如何将此信号集成到我的程序中,以便在每次点击时打印调试消息。

在现有 Elm 程序中 Debug.log 新信号的最简单方法是什么?

无论你想在哪里使用这个 clicks 信号,你都可以使用 (Signal.map (Debug.log "click") clicks) 代替。

因为这似乎是另一个输入,您可以添加一个 MouseClick 动作,并且 Signal.merge 鼠标点击动作到您拥有的通用输入信号中。如果那是您要添加鼠标点击的地方,那么这就是您添加日志记录的地方。