Std.stringがオブジェクトを文字列に変換する方法を上書きすることは可能ですか?Std.stringを上書きする
など。私はクラスPersonを持っています。
var p:Person = new Person("Some name");
trace(Std.string(p)); // this will return something like foo.Person(bar)
が、私のようなものが欲しい:しかし
class Person {
public var name:String;
}
は、私が使用するときは、文字列を返すメソッドを実装することによりStd.toStringを上書きすることがあり
var p:Person = new Person("Some name");
trace(Std.string(p)); // should return "Person(Some name)"
'@:to'はここに絶対に何もしませんこれは、要約の暗黙の変換メソッド用です。また、 'trace(Std.string(p))'は 'trace(p)'と重複しています。 – Gama11
'trace(Std.string(p))'は 'trace(p)'とまったく同じではありません。前者は 'toString()'を実行時に解決し、後者はコンパイル時に解決します。 – KevinResoL
それはまだ/冗長だが、同じ最終結果につながる、と私は明示的に 'Std.string()' 'trace'で使用するためにそれを悪い習慣を検討します。 – Gama11