Oi, pessoal!
Quero mostrar no console um vetor de characters grande, com mais de 80 caracteres. Para facilitar a leitura usei a função stringr::str_wrap()
, que quebra ele nos 80 caracteres.
Para vetores com uma única linha ela funciona bem:
description <- paste("Esta é uma mensagem enorme, com mais de oitenta caracteres. Foi criada só para testar se o print irá se comportar adequadamente com esse tipo de descrição!")
cat(stringr::str_wrap(description))
#> Esta é uma mensagem enorme, com mais de oitenta caracteres. Foi criada só para
#> testar se o print irá se comportar adequadamente com esse tipo de descrição!
Created on 2021-07-21 by the reprex package (v2.0.0)
Entretanto, quando o vetor possui múltiplas linhas (indicadas por \n), a função stringr::str_wrap()
ignora isso:
multi_line_description <- paste("Esta é uma mensagem enorme.",
"Com mais de oitenta caracteres.",
"E com várias linhas.",
paste("Foi criada só para testar se o print irá se comportar",
"adequadamente com esse tipo de descrição!"),
sep = "\n")
cat(stringr::str_wrap(multi_line_description))
#> Esta é uma mensagem enorme. Com mais de oitenta caracteres. E com várias linhas.
#> Foi criada só para testar se o print irá se comportar adequadamente com esse
#> tipo de descrição!
Created on 2021-07-21 by the reprex package (v2.0.0)
Lendo a documentação entendi que a função stringr::str_wrap()
chama a stringi::stri_wrap()
, que substitui caracteres de nova linha (ex: \n) por espaço simples, o que causa o problema que estou enfrentado.
Conhecem alguma função que quebre o vetor em um determinado ponto E respeite as marcações de novas linhas (\n)?