在R中用print()打印换行符
我试图在R中打印多行消息。例如,
print("File not supplied.\nUsage: ./program F=filename",quote=0)
我得到输出
File not supplied.\nUsage: ./program F=filename
而不是所需的
File not supplied. Usage: ./program F=filename
cat()
的替代方法是writeLines()
:
> writeLines("File not supplied.\nUsage: ./program F=filename") File not supplied. Usage: ./program F=filename >
一个好处是,你不必记得在传递给cat()
的string中附加一个"\n"
来在你的消息之后得到一个换行符。 例如比较上面的cat()
输出:
> cat("File not supplied.\nUsage: ./program F=filename") File not supplied. Usage: ./program F=filename>
和
> cat("File not supplied.\nUsage: ./program F=filename","\n") File not supplied. Usage: ./program F=filename >
print()
没有做你想做的事情的原因是print()
向你显示R级别的对象的版本 – 在这种情况下,它是一个string。 您需要使用其他函数,如cat()
和writeLines()
来显示string。 我说“一个版本”,因为打印的数字可能会降低精度,并且打印的对象可能会增加额外的信息,例如。
你可以这样做:
cat("File not supplied.\nUsage: ./program F=filename\n")
请注意, cat
的return
值为NULL
。
使用writeLine还可以使用c()
来免除“\ n”换行符。 如:
writeLines(c("File not supplied.","Usage: ./program F=filename",[additional text for third line]))
如果您计划使用固定input和可变input相结合的方式编写多行消息,例如上面的[第三行的附加文本],这会很有帮助。