Возможно ли иметь многострочные комментарии в R?

Я нашел этот старый поток (более года назад), в котором объясняется, почему R не поддерживает многострочные комментарии ( например, /* комментарий */PHP).

Мне интересно, разрешено ли это в прошлом году, или есть ли другие альтернативы? (Например, в блокноте ++ с npptor вы можете отметить связку строк и нажать ctrl + q, чтобы пометить их как комментарии, существуют ли подобные решения для другой среды IDE?)

Ответ 1

Вы можете, если хотите, использовать автономные строки для многострочных комментариев -— Я всегда думал, что это красивее, чем 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 (по крайней мере, под Linux) есть прекрасный Alt - Shift - #, чтобы прокомментировать текущую строку. Очень приятно поставить строку "на удержание", если вы работаете с одним лайнером, а затем понимаете, что сначала нужно подготовить шаг.

Ответ 2

R Studio (и Eclipse + StatET): выделите текст и используйте CTRL + SHIFT + C, чтобы прокомментировать несколько строк в Windows. Или, command + SHIFT + C в OS-X.

Ответ 3

CTRL + SHIFT + C в Eclipse + StatET и Rstudio.

Ответ 4

Нет многострочных комментариев в R на версии 2.12 и вряд ли изменится. В большинстве сред вы можете комментировать блоки, выделяя и переключаете комментарий. В emacs это "M-x;".

Ответ 5

if(FALSE) {
...
}

исключает выполнение нескольких строк. Однако эти строки все же должны быть синтаксически правильными, т.е. Не могут быть комментариями в правильном смысле. Тем не менее, полезно для некоторых случаев.

Ответ 6

К сожалению, до сих пор нет многострочного комментария в R.

Если ваш текстовый редактор поддерживает режим столбцов, используйте его, чтобы добавить пустую строку из #. Если вы используете UltraEdit, Alt + c поместит вас в режим столбцов.

Ответ 7

Добавьте в свой файл ~/.Rprofile следующее:

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

Теперь вы можете исключить блоки, как показано ниже:

stuffiwant

exclude({
    stuffidontwant
    morestuffidontwant
})