2017-09-18 1 views
2

Clojure에서 경고를 발생시키는 방법은 무엇입니까?Clojure에서 경고를 발생시키는 방법

특히 테스트를 실행 중이거나 프로그램을 배포하려고 시도하는 동안 특정 함수 호출을 평가하여 오류를 발생시키려는 상황이 발생하지만이 호출을 성공적으로 수행 할 수 있기를 원합니다. REPL에서 실행되는 동안 표시되는 메시지가 이상적입니다. (여기서 Common Lisp 솔루션은 warn입니다).

내가 할 수있는 시설이 있나요?

답변

3

Clojure에는 그런 개념이 없습니다. 직접 구현해야합니다. 상황에 따라 구현 방법에는 여러 가지가 있습니다.

아마도 가장 간단한 것은 동적 인 변수 *strict?*을 정의하고이를 정상적으로 설정하는 것이지만, repl에있을 때는 거짓으로 설정하는 것입니다. 그런 다음 var를 검사하고 해당 메시지와 함께 예외를 던지거나 경고로 인쇄하는 함수 (warn msg)을 정의하십시오.

+0

충분합니다. 사용하기 쉽도록이 라이브러리를 https://github.com/inaimathi/trivial-warning의 라이브러리에 패키지했습니다. – Inaimathi

관련 문제