0
私はNewClassにオブジェクトを分類しましたが、それは既知のクラスのようにオブジェクトに対してplotという関数を使うことができますか?クラスのオブジェクトをジェネリックと同じように扱う方法
私はNewClassにオブジェクトを分類しましたが、それは既知のクラスのようにオブジェクトに対してplotという関数を使うことができますか?クラスのオブジェクトをジェネリックと同じように扱う方法
シンプル:あなたは、実装内の別のplot
方法にちょうどディスパッチできる最も簡単な場合には
plot.NewClass = function(x, y, ...) { … }
:ちょうど必要な方法を提供します。
あなたNewClass
オブジェクトは、実際に変装してhistogram
オブジェクトである場合は、次のトリックを使用することができます:私は本当にここの構文を知らないので、私はRプログラミングに新たなんだ
plot.NewClass = function (x) {
# “unmask” histogram object
class(x) = 'histogram'
plot(x)
}
を。どのくらい正確に別のプロットメソッドにディスパッチしますか(この場合は、ヒストグラムオブジェクトのようにプロットしたいです) – ChuckP
@ChuckPそれを呼び出すことによって。あるいは、あなたの関数をヒストグラムの関数と等しくするだけで(もっとも、これらのオブジェクトは本当に似ている必要があります) 'plot.NewClass = graphics ::: plot.histogram' - 3つのコロンをメモします: 'plot.histogram'は' graphics'からはエクスポートされませんので、Rにネームスペース内の隠しオブジェクトにアクセスするように説得する必要があります。これは ':::'を介して行われます。 –