R、s.t.で(+)関数を定義することは可能ですか?その2つの議論の間に働くことができますか?言い換えれば埋め込み関数の名前からどのように%を削除できますか?
、私は(私は、私はこの問題を解決することができる方法がわからないことはできません)、次の中置関数から%
を削除したいと思います:
`%(+)%` <- function(x,y) { x+(2*y) }
2 %(+)% 3
R、s.t.で(+)関数を定義することは可能ですか?その2つの議論の間に働くことができますか?言い換えれば埋め込み関数の名前からどのように%を削除できますか?
、私は(私は、私はこの問題を解決することができる方法がわからないことはできません)、次の中置関数から%
を削除したいと思います:
`%(+)%` <- function(x,y) { x+(2*y) }
2 %(+)% 3
ユーザー定義中置演算子はにRのパーセント記号で囲まなければなりません。したがって、あなたの質問に対する答えは「できません」です。ごめんなさい。 R language definitionから
:
Rは、ユーザー定義の挿入演算子を可能にします。これらは '%'文字で区切られた文字列の形をしています。この文字列には、 '%'以外の印刷可能な文字を含めることができます。文字列のエスケープシーケンスはここでは適用されません。
私は考えることができる唯一の選択肢、両方ともかなり必死に:
x
とy
ならば、あなたはoverload dispatch for the + symbol私は、%を除いて(+)を定義することはできません。あなたは以下を使用しない理由は上記の通り関数を作成するために探している場合は、:
`&`<- function(x, y) { x+(2*y) }
2&3
#Use rm to remove the defined function
rm(`&`)
あなたは、彼に何かを定義しているので、それは無限再帰エラーにつながるので、実際には、要件ごとに+を定義することはできません実際の関数で使用しています。 – TsTeaTime