Я не уверен на 100% относительно вашего предполагаемого результата, но я все равно попробовал его:
humps <- c("five", "four", "three", "two", "one", "no")
for (i in humps) {
cat(paste0("Alice the camel has ", paste(rep(i, 3), collapse = " "), " humps."), "\n")
if (i == "no") {
cat("Now Alice is a horse.\n")
} else {
cat("So go, Alice, go.\n")
}
cat("\n")
}
Ключ состоит в том, чтобы обернуть rep
в функцию paste
с collapse
аргумент. Это превращает список в строку. В противном случае str_c
- я также не уверен, почему вы использовали эту функцию здесь - запускается один раз для каждого элемента списка.
Это напечатает:
Alice the camel has five five five humps.
So go, Alice, go.
Alice the camel has four four four humps.
So go, Alice, go.
Alice the camel has three three three humps.
So go, Alice, go.
Alice the camel has two two two humps.
So go, Alice, go.
Alice the camel has one one one humps.
So go, Alice, go.
Alice the camel has no no no humps.
Now Alice is a horse.