code

R에서 여러 줄 주석을 가질 수 있습니까?

codestyles 2020. 9. 11. 08:03
반응형

R에서 여러 줄 주석을 가질 수 있습니까? [복제]


이 질문에 이미 답변이 있습니다.

R이 여러 줄 주석을 지원하지 않는 이유 (예 : PHP의 / * 주석 * /)를 설명하는 오래된 스레드 (1 년 이상 전부터)를 찾았습니다 .

작년에이 문제가 해결되었는지 아니면 다른 대안이 있는지 궁금합니다. (예를 들어 npptor를 사용하는 메모장 ++에서 여러 줄을 표시하고 ctrl + q를 눌러 모두 주석으로 표시 할 수 있습니다. 다른 IDE의 유사한 솔루션이 있습니까?)


원하는 경우 여러 줄 주석에 독립형 문자열을 사용할 수 있습니다. 저는 항상 if (FALSE) { }블록 보다 더 예쁘다고 생각했습니다 . 문자열은 평가 된 다음 폐기되므로 함수의 마지막 줄이 아닌 한 아무 일도 일어나지 않습니다.

"This function takes a value x, and does things and returns things that
 take several lines to explain"
doEverythingOften <- function(x) {
     # Non! Comment it out! We'll just do it once for now.
     "if (x %in% 1:9) {
          doTenEverythings()
     }"
     doEverythingOnce()
     ...
     return(list(
         everythingDone = TRUE, 
         howOftenDone = 1
     ))
}

주된 제한 사항은 주석을 달 때 인용 부호를 확인해야한다는 것입니다. 내부에 한 종류가 있으면 다른 종류를 주석으로 사용해야합니다. 그 블록 안에 " '포스 트로피'가있는 문자열"과 같은 것이 있다면,이 방법은 좋은 생각이 아닙니다. 그러나 여전히 if (FALSE)블록이 있습니다.

두 가지 방법 모두에있는 또 다른 제한은 표현식이 구문 적으로 유효한 위치에서만 이러한 블록을 사용할 수 있다는 것입니다. 예를 들어 목록의 일부를 주석 처리하지 않아도됩니다.

IDE에서 수행하는 작업 : 저는 Vim 사용자이고 NERD Commenter 는 여러 줄의 주석을 빠르게 달거나 주석 해제하는 데 매우 훌륭한 도구입니다. 매우 사용자 친화적이고 잘 문서화되어 있습니다.

마지막으로, R 프롬프트 (적어도 리눅스)에서, 아름다운있다 Alt- Shift- #현재 행을 언급. 한 줄로 작업 중이고 먼저 준비 단계가 필요하다는 것을 깨달은 경우 '보류'라인을 놓는 것이 매우 좋습니다.


R Studio (및 Eclipse + StatET) : 텍스트를 강조 표시하고 CTRL+ SHIFT+ C사용 하여 Windows에서 여러 줄에 주석을 추가합니다. 또는 OS-X에서 command+ SHIFT+ C.


CTRL+ SHIFT+ Cin Eclipse + StatET 및 Rstudio.


버전 2.12부터 R에는 여러 줄 주석이 없으며 변경 될 가능성이 없습니다. 대부분의 환경에서 강조 표시하고 주석을 토글하여 블록에 주석을 달 수 있습니다. emacs에서는 'Mx;'입니다.


if(FALSE) {
...
}

여러 줄이 실행되지 않도록합니다. 그러나 이러한 행은 여전히 ​​구문 적으로 정확해야합니다. 즉, 적절한 의미의 주석이 될 수 없습니다. 그래도 일부 경우에는 여전히 도움이됩니다.


불행히도 R에는 여전히 여러 줄 주석이 없습니다.

If your text editor supports column-mode, then use it to add a bunch of #s at once. If you use UltraEdit, Alt+c will put you in column mode.


Put the following into your ~/.Rprofile file:

exclude <-  function(blah) {
    "excluded block"
}

Now, you can exclude blocks like follows:

stuffiwant

exclude({
    stuffidontwant
    morestuffidontwant
})

참고URL : https://stackoverflow.com/questions/4131338/is-it-possible-to-have-a-multi-line-comments-in-r

반응형