提出者:Eduard Antonyan; 割り当て先:誰も; R-Forgeリンク
fn = function() {invisible(1:5)}
dt[, fn()]
# [1] 1 2 3 4 5
たとえばboxplot
を使用する場合、これはかなり面倒です。
@eantonya boxplot
使用例を教えていただけますか?
ここでの問題は、 FAQ 2.22で説明されているように、 :=
に非常に関連しています。
私たちができる最善のことは、目に見えない形で_iff_ fn()
がdata.table
返すことです。 それ以外の場合は、 print.data.table
が.global$print
巧みに使用するのと同じ方法で、印刷メソッドを_すべて_変更する必要があります。
今のところ、「修正されません」というラベルを追加しました。 ベースRが[
可視性を強制する方法に問題があるため。 あなたが同意する場合、私たちはこれをそのように閉じることができます(私たちが思いつくことができる代替案がない限り)。
@mattdowleにもタグを付けます。
これは#1471と同じかもしれないと思います。 ちょうどこれを見つけました。
invisible
結果である場合、Rが"invisible"
属性を持つものを返さないのは残念です。 それはこれを簡単にするでしょう。
ここにリンクしているhttp://stackoverflow.com/a/36093766/403310に戻ってリンクします。 FAQ 2.18(テストしたばかりのときは解決策が機能しませんでした)と2.22を再確認でき、最後に調べてから1年以上経過しているため、別の試みが必要になる可能性があります。
うーん。 with(dt, fn())
が出力を印刷しないことに気づきました。 それなら、これは何よりも.global$print
問題全体に関連していると思います。
Rは内部での視認性を強制するためにはありません、それはある[
とは異なり、 with()
。 FAQ2.22を参照してください。
:=
機能するのと同じグローバル印刷抑制がここで機能しませんか?
Arunのコメントによると、Rの[
強制的な可視性については多くのことを行うことができません。解決策は、data.table式をinvisible
にラップすることです。
最も参考になるコメント
Rは内部での視認性を強制するためにはありません、それはある
[
とは異なり、with()
。 FAQ2.22を参照してください。