문제

가 인쇄하는 방법을 다형성에서 값 표준 ML(SML/NJ 체)?나는 다형성은 기능을 하고 있지 않는 내가 무엇을 원하고 때문에 끝없이 깊은 상태에서 디버깅 SML(참조하십시오 실제 세계 경험을 디버깅 기능성 생산 프로그램입니까?),는 것을 보고 그것이 무엇을 하는 몇 가지 좋은-ol' print's.간단한 예로 들 수 있(에서 프롬프트):

fun justThisOnce(x : 'a) : 'a = (print(x); x);
justThisOnce(42);

다른 제안 감사드립니다.그 동안 나는 유지 보고 잘못된 코드로 제출입니다.

업데이트

를 찾을 수 있었 버그에 하지만 문제는 여전히 희망의 미래를 방지하기픔과 고통받고 있습니다.

도움이 되었습니까?

해결책

은 없으로 인쇄하는 방법을 다형 값입니다.두 가지 중에서 선택할 수 있습니다.

  • 전문으로 기능하는 정수 또는 문자열이는 쉽게 인쇄했습니다.다음 버그가 죽임을,그것은 다형 again.

  • 면 버그는 매니페스트에만 다른 인스턴스화,전달 show 추가로 인수하는 기능입니다.그래서 예를 들어,다형성은 기능이 있 유형

    'a list -> 'a list
    

    확장 유형을

    ('a -> string) -> 'a list -> 'a list
    

    당신은 사용 show 내부적으로 인쇄하고,다음에 의해 부분적으로 적용하는 기능에 적합한 show, 을 얻을 수 있습 버전에서 사용할 수 있는 원본다.

    그것은 매우 지루하지만 그것은 도움이됩니다.(그러나 경고:수도 있습 드라이브에 당신을 시도가 필요합니다.)

다른 팁

에서만 MOSML:단순하게 디버깅을 위해,사용 printVal 기능입니다.이 함수에서만 사용할 수 있 toplevel 모드에서 오류가 발생할 때 당신을 컴파일하려고 하 귀하의 프로그램입니다.

편집:는 경우에,나는 두려워한 일반적인 솔루션을 번역하는 명시적으로 값을 문자열이며,인쇄습니다.다른 대답을 위한 좋은 제안입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top