Какое объяснение кода подключения R и SQL здесь? - PullRequest
0 голосов
/ 04 сентября 2018

Эта функция, которую я нашел в Интернете для использования в R. Может ли кто-нибудь объяснить мне, как использовать ее в R, если мне нужно запустить расширение файла .sql через R

getSQL <- function(filepath) {
    con = file(filepath, "r")
    sql.string <- ""

    while (TRUE) {
        line <- readLines(con, n = 1)

        if ( length(line) == 0 ) {
            break
        }
        line <- gsub("\\t", " ", line)
        if (grepl("--",line) == TRUE) {
            line <- paste(sub("--", "/*", line), "*/")
        }
        sql.string <- paste(sql.string, line)
    }
    close(con)

    return(sql.string)
}

1 Ответ

0 голосов
/ 04 сентября 2018

Эта функция, кажется, читает какой-то текстовый файл SQL, а затем выполняет его обработку. В частности, критическая логика выглядит следующим образом:

line <- gsub("\\t", " ", line)
if (grepl("--", line) == TRUE) {
    line <- paste(sub("--", "/*", line), "*/")
}
sql.string <- paste(sql.string, line)

Сначала все вкладки (\t) заменяются одним пробелом. Затем строки, содержащие --, которые предположительно были строками только для комментариев, заменяются на /*, за которыми следует комментарий, после которого следует */. То есть -- комментарии преобразуются в комментарии в стиле C / C ++. Затем текущая строка добавляется к текущей строке SQL. И наконец, измененная строка SQL возвращается из функции.

Я не знаю, почему вы бы это использовали, но в основном это просто изменение пробела и комментариев в сценарии SQL.

...