Programing

Clojure의 댓글 차단

crosscheck 2020. 7. 19. 10:24

Clojure의 댓글 차단


Clojure에서 여러 줄을 어떻게 주석으로 처리합니까?


실제로 방법이 있습니다!


(comment

(defn hey [] ("Hey there!"))

Check me out! )

귀하의 의견을 (의견 ..)으로 감싸십시오. :)

즐기세요!


Clojure는 #_다음 형식을 완전히 건너 뛰는 리더 매크로를 지원합니다 . Clojure Reader 에 대한 페이지에서 언급됩니다 . 비슷한 효과를 가지지 만 다르게 구현되는 주석 매크로 도 있습니다 .

위의 두 가지 모두 주석 처리하는 것이 구문 상 올바른 S- 표현이어야합니다.

일부 Lisp 방언에는 임의의 텍스트를 포함 할 수있는 여러 줄 주석이 있지만 Clojure에 대한 주석은 보이지 않습니다.


큰 따옴표 (문자열 리터럴)를 사용하면 임의의 텍스트를 추가 할 수 있습니다 (적절한 S 형식뿐만 아니라).

(comment "

public class HelloWorld {
    public static void main(String[] args) {
        System.out.print("Hello, World");
        System.out.println();
    }
}

")

다른 예제는 훌륭합니다. 트릭을 하나 더 추가하고 싶습니다.

때로는 몇 줄의 코드를 주석 처리하고 싶지만 컴파일러가 컴파일하여 오류를보고하게하십시오 (예 : 나중에 REPL에서 실행할 최상위 네임 스페이스의 명령 세트).

이 경우 코드를 래핑하고 싶습니다.이 코드는 (fn [] .....)여전히 컴파일되고 호출되지 않습니다.


이 링크를 참조하십시오 : http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips

구문을 사용하여 여러 줄 주석을 만들 수 있습니다

(comment .....
    ....)

이맥스와 사이다를 M-x comment-region사용할 때 자주 사용 하는 명령 이 있습니다.


Emacs에서는 명령 M-;(바로 가기)을 사용할 수 있습니다 M-x comment-dwim. 텍스트 / 코드의 표시된 영역을 주석 처리하거나 주석 처리를 제거하므로 전체 기능 또는 기능 세트가 영역에 포함되어 있으면 해당 영역을 쉽게 주석 처리하거나 주석 해제 할 수 있습니다. 기능에 대한 Emacs 참조 매뉴얼은 여기M-; 에서 찾을 수 있습니다 .


내가 아는 여러 가지 방법이 있습니다.

첫 번째는 주석 매크로를 사용하는 것입니다 . 주석 본문 내부의 모든 코드 평가 하지는 않지만 균형 괄호 / 괄호는 여전히 확인합니다. paredit로 길을 알고 있다면 sexp 전화를 몇 번 언급하고 싶더라도 시간이 많이 걸리지 않습니다.

(comment 
 (println 1))

그러나 여전히 괄호 일치를 확인합니다. 따라서 불균형 괄호가 있으면 코드가 컴파일되지 않습니다 (yielding java.lang.RuntimeException: EOF while reading).

또 다른 방법은 #_(일명 버리기 매크로)를 사용하는 것입니다 : 개인적으로 선호하는 방식 인 다음 sexp를 버릴 것입니다 (타이핑해야 할 때 빨리 입력하고 일반적으로 sexps에서 수행합니다).

#_(println 1)

또한 일치하지 않는 구분 기호도 확인합니다. 따라서 괄호가 불균형하면 컴파일되지 않습니다.

마지막으로, ;다른 언어 주석 기능과 유사한 줄에 주석을 달는 문자가 있으며 컴파일은이를 완전히 무시합니다. 여러 줄에 주석을 달려면 모든 줄 앞에;를 붙여야합니다. 일반적으로 번거롭지 만 일반적으로 텍스트 편집기는 여러 줄을 선택한 후 명령을 사용하여 수행합니다.

;  (println 1)
;  (println 1 also won't break

참고URL : https://stackoverflow.com/questions/1191628/block-comments-in-clojure