2016-08-15 4 views
5

이의 내가 같이 elm-repl에서 간단한 작업을 만든 가정 해 봅시다? 내가 통해 CmdTask을 변환 할 수 있습니다elm-repl에있는 작업 값을 어떻게 인쇄합니까?</p> <pre><code>> forty = Task.succeed 40 <task> : Task.Task a number </code></pre> <p>가 어떻게 내 <code>forty</code>하고 ... 그것을 사용 걸릴 않습니다

> Task.perform (\x -> Nothing) (\a -> Just a) forty 
{ type = "leaf", home = "Task", value = T <task> } 
    : Platform.Cmd.Cmd (Maybe.Maybe Float) 

...하지만이 가까이 내 목표에 나를 걸린다면 내가 알고하지 않기 때문에 나는 확실하지 않다 방법 "힘"명령에 (예를 들어, 그 값을 화면에 출력합니다).

+0

작업의 가치를 검사하는 것 외에도 REPL의 _outside_를 달성하려는 특정 목표가 있습니까? –

+0

아니요 - 저는 특정 코드를 실행하고 어떤 일이 발생 하는지를 보면서 언어를 이해하려고 노력하고 있습니다. – Bosh

답변

5

Elm REPL은 아직 작업 실행을 허용하지 않습니다. 이 기능 요청에는 open issue이 있습니다.

+0

감사합니다. 이러한 한계를 감안할 때 외부의 작업과 REPL로 작업 할 수있는 훌륭한 디버깅 작업 꽃을 설명해 주시겠습니까? – Bosh

+0

Elm은 순수 함수형 언어이므로 동일한 입력에 대해 동일한 출력을 보장하기 때문에 테스트를위한 작업을 실제로 수행 할 필요가 없습니다. 단위 테스트에서 함수를 호출하여 함수를 "조롱"할 수 있습니다. Tasks에 대한 테스트를 작성하지 말고'update' 함수를 테스트하십시오. –