Как Debug.log сигнал в Elm?

Я пытаюсь ввести в свою программу новый сигнал, основная функция которого выглядит так:

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

(дополнительный контекст здесь)

Чтобы разработать мой новый сигнал, я хотел бы начать с этого:

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

Я могу получить этот сигнал:

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

Но я не уверен, как интегрировать этот сигнал в мою программу, чтобы он печатал отладочное сообщение при каждом щелчке.

Как проще всего Debug.log создать новый сигнал в существующей программе Elm?


person Misha Moroshko    schedule 02.11.2015    source источник
comment
Обратите внимание, что если вы не используете порты, более практично использовать Debug.watch и elm-reactor вместо ведения журнала, поскольку вы можете просматривать значения во временном контексте и воспроизводить их.   -  person thSoft    schedule 02.11.2015
comment
@thSoft Я пытался заменить Debug.log на Debug.watch и перезапустить elm reactor, но не вижу распечаток на выходе реактора. Что мне не хватает?   -  person Misha Moroshko    schedule 03.11.2015
comment
Пожалуйста, задайте отдельный вопрос, поделившись всем кодом и точными шагами, которые вы пробовали.   -  person thSoft    schedule 03.11.2015


Ответы (1)


Везде, где вы хотите использовать этот сигнал clicks, вы можете использовать вместо него (Signal.map (Debug.log "click") clicks).

Поскольку это похоже на другой вход, вы можете добавить MouseClick действие и Signal.merge действия щелчка мыши в общий входной сигнал, который у вас есть. Если это место, где вы хотите добавить щелчки мыши, то это место, где вы добавляете ведение журнала.

person Apanatshka    schedule 02.11.2015