Як зазначали інші, paste()
це шлях. Але це може бути прикро, коли потрібно вводити paste(str1, str2, str3, sep='')
роздільник, що не використовується за замовчуванням, кожного разу.
Ви можете дуже легко створити функції обгортки, які роблять життя набагато простішим. Наприклад, якщо ви часто зустрічаєте об'єднувальні рядки без роздільника, ви можете:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
або якщо ви часто хочете приєднати рядки з вектора (наприклад, implode()
з PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Дозволяє робити це:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Також є вбудований модуль paste0
, який робить те саме, що і мій implode
, але не допускаючи спеціальних роздільників. Це трохи ефективніше, ніж paste()
.