в R, как мне процитировать комментарий, используя цитату или bquote?

quote(# this is a comment)

Как я могу сделать что-то вроде вышеперечисленного?


person free_lions_n_tigers_from_cages    schedule 19.11.2020    source источник
comment
Комментарий не является кодом, поэтому его нельзя цитировать. Представление вашего полного варианта использования может быть полезным.   -  person jangorecki    schedule 19.11.2020


Ответы (2)


quote() фиксирует исходный код в своем атрибуте wholeSrcref, который сохраняет комментарии:

x <- quote({
    ## This is a comment
})

src <- attributes(x)$wholeSrcref          # <--- preserves the comment

Однако это возвращает объект класса srcref, а не истинное выражение, которое можно передать в eval(). В зависимости от того, что вы пытаетесь сделать, вы можете найти эти функции для управления объектами srcref полезны. Например,

as.character(src)[2]
[1] "    ## This is a comment"
person Artem Sokolov    schedule 19.11.2020

Не совсем понятно, чего вы пытаетесь достичь, но должны работать следующие вещи:

  1. Вы можете легко хранить хэштеги в строках:

    string<- "# this is a comment"

  2. Если вам нужно поместить это в кавычки, вы можете сделать:

    dQuote("# this is a comment",q = options(useFancyQuotes=FALSE))

Это возвращает: "\"# this is a comment\"" .

Опция useFancyQuotes=FALSE обеспечивает использование обычных кавычек (а не типографских). Если вы опустите этот параметр, результатом будет "“# this is a comment”"

  1. Вы также можете просто написать quote("# this is a comment"), который вернет "# this is a comment"
person shghm    schedule 19.11.2020