Repositório para ajudá -lo a entender o gerente de efeito.
elm-reactor
# http://127.0.0.1:8000/src/CommandExample.elm
# http://127.0.0.1:8000/src/SubscriptionExample.elmA explicação foi detalhada nos comentários do código abaixo.
MyCounter.elmMyKeyboard.elm (conclusão) Elm, como Haskel, é uma linguagem pura. Portanto, se você deseja criar uma biblioteca com efeitos colaterais, não deve ser uma maneira normal. A declaração do módulo effect module deve ser incomum dessa maneira. Isso é chamado de gerente de efeito na comunidade ELM.
effect module MyRandom where { command = MyCmd , subscription = MySub }
exposing (
...O problema é que como fazer um gerente de efeito não é explicado em nenhum lugar. Mesmo se você perguntar ao Elmlang Slack, a maioria das pessoas sabe como fazer um gerente de efeito e não há bons tutoriais. No documento oficial, podemos ver e seguir os gerentes de efeito nas bibliotecas que já foram feitas.
Então eu corrigi Random.elm da biblioteca padrão e mudei para uma forma simples que eu podia ver e entender rapidamente. Como fui explicado em detalhes o máximo possível, espero que outros desenvolvedores possam ver e entender.
elm-practice distribuído principalmente nos termos da licença do MIT e da licença Apache (versão 2.0). Veja direitos autorais para obter detalhes.