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