我只想在运行代码时打印多行aestrick符号。我可以使用print(strrep("*",20))
打印20行*
中的一行,但是如何不使用任何循环就打印其中20行?
答案 0 :(得分:1)
文字“如何重复”显示在这里:
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
直接将其保存。请注意,cat
不会添加最后一个换行符;如果需要,请执行cat(..., "\n")
。
您可以考虑使用message
而不是cat
,
message(paste(rep(strrep("*",5),4), collapse="\n"))
# *****
# *****
# *****
# *****
与cat
一样,它不需要结尾的换行符(尽管您可以使用appendLF=FALSE
取消结尾的LF)。这样,使用您的函数的任何人都可以使用suppressMessages(...)
禁止显示这些消息,这在函数作者中通常是一个很好的考虑。
答案 1 :(得分:0)
这可能会有所帮助。该功能将打印任意数量的行。
fun<-function(x){
rep(paste(strrep("*",20),sep = "\n"),x)}
fun(20)
您只能使用20次:
rep(paste(strrep("*",20),sep = "\n"),20)
希望有帮助。