2013-01-16 3 views
2

나는 다음과 같은 기능을 말해봐 기능 속성 그 주석은 두 개의 다른 줄에 반환됩니다 (줄이 더 많고 다른 주석 요소 일 수도 있습니다). 어떤 아이디어라도 감사 할 것입니다.여러 코멘트()

+0

댓글 (sqrt_x) <- "내 댓글"은 댓글을 명확하게 지정하는 방법입니다. –

+0

thx, 그러나, 그것은 더 많은 라이너를주지 않습니다. – Toby

답변

3

가 말했다 : 당신은 개행 문자를 삽입해야 할 cat 방법은 당신이 원하는 방법으로이 문제를 보여줍니다.

개행을 수동으로 지정하지 않으려면 strwrap을 사용하여 문자열이 지정된 너비를 초과하지 않도록 편리한 지점에서 나누기를 만들 수 있습니다.

msg <- strwrap("This is a comment to be placed on two different lines", width = 20) 
cat(msg, sep = "\n") 
# This is a comment 
# to be placed on two 
# different lines 

완전한 해결책은 같은 것을 볼 수 있었다 : 이것은 해킹의 비트, 그리고 아마 당신이 원하는,하지만

#Add comment as normal 
comment(sqrt_x) <- "This is a comment to be placed on two different lines" 

#Display using this function 
multiline_comment <- function(x, width = getOption("width") - 1L) 
{ 
    cat(strwrap(comment(x), width = width), sep = "\n") 
} 

multiline_comment(
    sqrt_x, 
    20 
) 
+0

글쎄, 내 콘솔에 cat (comment (sqrt_x))을 입력하고 싶지 않습니다. 조금 어색합니다. 소스 파일에 주석 형식의 빠른 형식을 사용하여 다른 사람들이 주석 (함수)을 신속하게 입력하고 빠르고 간단한 도움말 텍스트 정보를 얻을 수있게하고 싶습니다. 그러나 나는 그것에 그것에 약간 구조가있는 것을 바랄 것입니다. – Toby

+0

편집이 훌륭하고 내가 정말로 요구했던 것입니다. 그것은 약간의 해결 방법이지만 내부 용으로는 perfekt를 사용합니다. – Toby

2

\n을 사용하여 개행을 삽입 할 수 있습니다. Andrie으로

attr(sqrt_x, "comment") <- "This is a comment to be placed on two\ndifferent lines" 
cat(comment(sqrt_x)) 

This is a comment to be placed on two 
different lines 
0

을 당신은 다중 요소를 character 벡터를 제공하는 경우 , 라인이 길어서 R의 기본 서식이 여러 줄에 있어야한다고 결정하면 원하는 것을 얻을 수 있습니다.

comment(sqrt_x) <- c("This is a comment      ", 
        "to be placed on two different lines") 
comment(sqrt_x) 
## [1] "This is a comment      " 
## [2] "to be placed on two different lines" 

자동 패드에 format을 사용할 수

comment(sqrt_x) <- format(c("This is a comment", 
          "to be placed on two different lines"), 
          width=50) 

이이 절대적으로 필사적 경우

(다른 곳과 같이 당신은 또한 부분으로 하나의 긴 문자열 을 깰 strwrap()를 사용할 수 있습니다) 당신은 당신이 마스크 수, 여분의 공간을 좋아하지 않아 내장 @ RichieCotton의 여러 버전처럼 뭔가 comment 기능 :

comment <- function(x,width = getOption("width") - 1L) { 
    cat(strwrap(base::comment(x), width = width), sep = "\n") 
} 

하지만 난 아마 나쁜 생각이야.