stderr
のR
にどのように印刷しますか?
これは、Rscript
で記述されたスクリプトに特に役立ちます。
実際、私にとっては次の作品:
write("prints to stderr", stderr())
write("prints to stdout", stdout())
以下は、Rscriptでのデバッグ/詳細使用のためのより柔軟なバージョンです。要求どおりにstderr
に出力するだけでなく、printf
が行うように、可変数の引数や型などを渡すこともできます。
v <- function(...) cat(sprintf(...), sep='', file=stderr())
これで、次のようなことができるようになります。
v("name: %s age: %d\n", name, age)
等.
Stderrに印刷するように印刷機能を構成することはできますか?
リプリー自身から :
いいえ。ただし、標準出力の場所はsink()によって制御されるため、同じ効果を得ることができます。 Rは内部的に、どの出力がprint()(これは1つの関数だけでなく数百のメソッドでもある)から何が出力されるかを知りません。
message('for writing diagnostic info to standard error')
メッセージは、警告でもエラーでもないにもかかわらず、条件として表される「単純な」診断メッセージを生成するために使用されます。警告やエラーとは異なり、最後の改行はメッセージの一部と見なされ、オプションです。デフォルトのハンドラは、メッセージをstderr()接続に送信します。