最近、パッケージをrOpenSciに提出しました。ユーザー側のコンソール出力にcat()
ではなくmessage()
を使用することをお勧めします。私のパッケージに切り替えると、レンダリングされたビネットのフォーマットが変わってしまったことに気付きました。私はこの問題を次のRマークダウン報告書に再現しました。Rマークダウン/ニットレポートでmessage()を使用して出力を切り詰めた
---
title: "MWE"
author: "Will Landau"
date: "11/20/2017"
output: html_document
---
```{r testcat}
for(x in LETTERS[1:3]){
cat(x, "\n")
}
```
```{r testmessage}
for(x in LETTERS[1:3]){
message(x)
}
```
```{r testmessage2}
for(x in LETTERS[1:3]){
message(x, "\n", appendLF = FALSE)
}
```
最初のコードチャンクについては、希望の出力が得られます。すべての3行が1つの灰色のボックスにまとめられています。
## A
## B
## C
しかし、2番目と3番目のチャンクでは、各行には個別の灰色のボックスが割り当てられます。
## A
。
## B
。
## C
どのように私はこのようなknitr
出力をチョッピングせずにmessage()
を使い続けるのですか?
別の注意点として、すでにCRANに入っているパッケージだったのですか、それともCRANの前にropensciに提出したのですか? – amrrs
代わりに 'message'を使用する特別な理由はありますか?デフォルトでは 'message'がstderrに出力されるので、私はあなたがこの問題を見ていると思っています - それはエラーが独自の行を得るのと同じ理由です。 'message'のヘルプページから:"デフォルトのハンドラはメッセージをstderr()接続に送ります。 " – Dason
[rOpenSciが好きだから](https://github.com/ropensci/onboarding/blob/master/packaging_guide.md#-console-messages)、私は 'message()'を使っています。ユーザが 'cat()'よりも抑制する。パッケージ自体はCRAN上に1年近く置かれており、rOpenSciにも移行しています。 – landau