HOWTO · R
R에서 여러 줄 주석 처리
이 기사에서는 주석 처리 할 각 행의 시작 부분에 # 문자를 수동으로 작성하지 않고도 R에서 여러 행을 주석 처리하는 방법을 배웁니다.
이 페이지의 내용
R에는 여러 줄 주석 문법이 없습니다. #은 해당 줄의 끝까지 주석으로 처리합니다. 여러 줄의 코드를 잠시 비활성화하려면 각 줄의 맨 앞에 #을 붙이고, 코드를 다시 실행하려면 그 접두사를 제거하세요. 편집기에서는 선택한 여러 줄에 이 작업을 한 번에 적용할 수 있습니다.
다음 예제를 실행하세요:
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
# This line is a comment.
total <- 2 + 3
print(total)
[1] 5
첫 번째 줄은 R 코드로 실행되지 않지만, 대입문과 print() 호출은 계속 실행됩니다. 제공된 실행은 성공적으로 완료되었으며 [1] 5를 출력했습니다.
R 주석의 작동 방식
주석 기호는 현재 줄의 나머지 부분에만 적용됩니다. 예를 들어 answer <- 42 # keep this value에서 R은 대입문을 평가하고 # 뒤의 텍스트는 무시합니다. #으로 시작하는 줄은 스크립트의 동작을 바꾸지 않고 코드에 설명을 덧붙일 때도 사용할 수 있습니다. 주석은 줄바꿈에서 끝나므로 여러 주석 줄을 모아도 하나의 블록 주석이 아니라 각각 별도의 줄 주석입니다.
코드를 주석 처리할 때는 선택한 모든 줄에 접두사를 붙이세요. 이어지는 줄도 빠뜨리면 안 됩니다. 실행 가능한 줄이 하나라도 주석 처리되지 않으면 스크립트를 불러올 때 그 줄은 계속 실행됩니다. 주석 해제는 반대로, 다시 실행하려는 각 줄에서 주석 접두사를 제거하면 됩니다.
편집기에서 코드 블록 주석 처리
RStudio에서 줄을 선택한 다음 Windows에서는 Ctrl+Shift+C, macOS에서는 Command+Shift+C를 누르세요. 같은 명령으로 선택 영역의 주석을 설정하거나 해제하므로, 실행하기 전에 결과를 확인하세요. 편집기별 자세한 내용은 RStudio 키보드 단축키를 참고하세요.
Windows의 Notepad++에서는 Ctrl+Q로 선택한 줄의 주석을 설정하거나 해제할 수 있습니다. Emacs에서는 M-x comment-region을 실행하고, 취소하려면 M-x uncomment-region을 실행하세요. 단축키는 편집기, 운영체제, 키맵, 선택 영역에 따라 달라질 수 있으므로 단축키가 다르면 편집기의 명령 목록을 확인하세요. 이러한 명령은 줄 접두사를 추가하거나 제거할 뿐, R에 새로운 주석 문법을 추가하지는 않습니다.
scan()이 여러 줄 주석을 만들지 않는 이유
scan()은 연결이나 입력에서 값을 읽어 R에 반환합니다. 소스 파일에 텍스트를 삽입하거나 입력한 여러 줄을 주석으로 바꾸지는 않습니다. 마찬가지로 rm()은 작업 공간에서 R 객체를 제거할 뿐, 소스 텍스트를 지우지 않습니다. R 콘솔에 임의의 문장을 입력하는 것도 스크립트를 주석 처리하는 올바른 방법이 아닙니다. R은 제출된 각 줄을 입력으로 해석하려고 하기 때문입니다. 대신 편집기의 주석 명령을 사용하거나 소스의 각 줄에 #을 추가하세요.
클립보드 텍스트를 # 주석으로 바꾸는 R 도우미
편집기에 편리한 선택 영역 명령이 없다면 선택 사항인 FormatComment 도우미를 사용할 수 있습니다. 이 함수는 클립보드의 각 줄 앞에 #과 공백을 붙입니다. readClipboard()와 writeClipboard() 호출은 Windows 전용입니다. Windows의 R 세션에서 함수를 정의하고 일반 텍스트나 코드를 복사한 뒤 함수를 호출하세요. 스크립트의 내용을 바꾸기 전에 결과를 확인하세요. 함수는 형식을 바꾼 텍스트를 클립보드에 다시 쓰므로 원래 클립보드 내용을 보존해야 한다면 먼저 안전한 위치에 붙여 넣으세요.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
FormatComment <- function() {
lines <- readClipboard()
commented <- paste0("# ", lines)
writeClipboard(commented, format = 1)
invisible(commented)
}
제공된 도우미 사례는 성공적으로 완료되었으며 보고된 출력은 없습니다. 이 결과만으로 실제 Windows 클립보드나 대화형 세션에서의 동작까지 확인된 것은 아닙니다. 이 도우미는 복사한 텍스트 줄을 대상으로 합니다. 붙여 넣은 결과를 확인하고, 특히 원본에 들여쓰기나 이어쓰기 문법이 있다면 주의해서 살펴보세요. 일반적인 코드 편집에는 편집기의 주석 전환 기능이 대개 되돌리기 쉽고 서식을 흐트러뜨릴 가능성도 낮습니다.