2017-04-03 10 views
3

JavaScriptのコンマ演算子は、ワークフローを壊さずにコード内にコマンドを挿入するのに便利です。前述の式は、実行が、それ以外(異なるオブジェクトを期待されている機能に埋め込ま例えば場合)は無視される:javascriptのようなコンマ演算子を定義する

> x = 5, 4 
< 4 
> x 
< 5 

Rでこれを実装する方法はありますか?私は

',' = function(x, y) { x; y } 

次試してみたが、Rは、カンマをロックダウンしているようだ:

> 4, 5 
Error: unexpected ',' in "4," 

はこれに任意の回避策はありますか?

+1

これは機能します: ''、'(4,5)' –

+0

セミコロン ';'を使用しますか?すなわち、x = 5; 4'を実行するが、そうでなければ無視するようにする。 – chinsoon12

+0

ええ、私は '{..; ..} 'は同等です。同じ優雅な方法を持っているRについてただ想像しました。 – geotheory

答えて

0

(Un)幸いなことに、,は、オーバーロード/再定義できないRのごく一部のものです。これは、言語とは異なり、言語の演算子ではありません。 `{`および`(`。あなた過負荷`=``(`ながら、あなたが無差別にその意味を変更することはできません同じような文脈で

、。パラメータ(たとえばf(a = 1, b = 2))を持つ関数呼び出しでは、(でも=も、このコンテキストでは演算子ではないため、意味を変更することはできません)。

あなたの目的のために、コメントで指摘したように、;は非常に近い同等のようです。

関連する問題