Каковы различия между объединением строк с cat () и paste ()?
каковы различия между объединением строк с cat
и paste
?
в частности, у меня есть следующие вопросы.
-
почему R не используйте двойные кавычки (
"
), когда он печатает результаты вызоваcat
(но он использует кавычки при использованииpaste
)?> cat("test") test > paste("test") [1] "test"
-
почему функции
length
иmode
, которые функции доступные для почти всех объекты в р не "работа" наcat
?> length(cat("test")) test[1] 0 > mode(cat("test")) test[1] "NULL"
-
почему escape-последовательности в стиле C работают с
cat
, а не Сpaste
?> cat("1)Line1n 2)Line2n 3)Line3") 1)Line1 2)Line2 3)Line3 > paste("1)Line1n 2)Line2n 3)Line3") [1] "1)Line1n 2)Line2n 3)Line3"
-
почему правило рециркуляции R не работает с
cat
?> cat("Grade", c(2, 3, 4, 5)) Grade 2 3 4 5 > paste("Grade", c(2, 3, 4, 5)) [1] "Grade 2" "Grade 3" "Grade 4" "Grade 5"
1 ответов
cat
и paste
должны использоваться в самых разных ситуациях.
paste
не print
когда вы paste
что-то и не назначайте его ничему, оно становится character
переменная print
- ed использование print.default
метод по умолчанию для character
, следовательно, цитаты и т. д. Вы можете посмотреть на справку для print.default
для понимания того, как изменить внешний вид вывода как.
-
print.default
не будет оценивать escape-символы, такие как\n
в строке символов.
посмотрите на ответы на это вопрос для того, чтобы захватить выход из cat
.
цитируя легко читаемый справке cat
(?cat
)
объединить и напечатать
описание
выводит объекты, объединяя представления.
cat
выполняет гораздо меньше преобразования, чем...
подробности
cat
полезно для производить выход в определяемых пользователем функциях. Он преобразует свои аргументы вcharacter
векторы, связывает их с a одинcharacter
вектор, добавляет данныйsep= string(s)
для каждого элемент, а затем выводит их.стоимостью
нет (невидимый
NULL
).
cat
ничего не возвращает, он будет просто выводить на консоль или другое соединение.
таким образом, если вы пытаетесь запустить length(cat('x'))
или mode(cat('x'))
, работает mode(NULL)
или length(NULL)
, что вернет NULL
.
помощь для вставки одинаково полезна и описательна
Конкатенации Строк
описание
обединить векторы после преобразования в
character
.....
стоимостью
A
character
вектор Объединенных значений. Это будет длина ноль, если все объекты, если только коллапс не -NULL
в этом случае это одна пустая строка.