Как напечатать несколько строк эстетики (или любых символов) в R? - PullRequest
0 голосов
/ 02 апреля 2019

Я просто хочу напечатать несколько строк символов Aestrick во время выполнения кода.Я могу использовать print(strrep("*",20)), чтобы напечатать одну строку из 20 *, но как я могу напечатать 20 строк из них без использования петель?

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Буква «как повторить» показана здесь:

rep(strrep("*",5),4)
# [1] "*****" "*****" "*****" "*****"

Если вы собираетесь печатать все это последовательно на консоли, то

paste(rep(strrep("*",5),4), collapse="\n")
# [1] "*****\n*****\n*****\n*****"
cat(paste(rep(strrep("*",5),4), collapse="\n"))
# *****
# *****
# *****
# *****

где последние cat s это напрямую.Обратите внимание, что cat не добавляет последний символ новой строки;если вам это нужно, тогда выполните cat(..., "\n").

. Вы можете рассмотреть возможность использования message вместо cat, однако:

message(paste(rep(strrep("*",5),4), collapse="\n"))
# *****
# *****
# *****
# *****

Это не требует завершающего перевода строки, так какcat делает (хотя вы можете подавить трейлинг LF с помощью appendLF=FALSE).Это позволяет любому, кто использует вашу функцию, подавлять эти сообщения с помощью suppressMessages(...), что часто замечательно для авторов функций.

0 голосов
/ 02 апреля 2019

Это может помочь.Функция напечатает любое количество строк.

  fun<-function(x){
  rep(paste(strrep("*",20),sep = "\n"),x)}

  fun(20)

Всего 20 раз вы можете использовать:

rep(paste(strrep("*",20),sep = "\n"),20)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...