私は Dart を初めて使用するので、ここに何か不足している可能性があります。
これは機能します:
私main()
の中に、私はこれを持っています:
var a = _someFunction;
var b = _someFunction;
print("${a == b}"); // true. correct!
_someFunction
別のトップレベル関数はどこにありますか。
これは機能しません:(少なくとも私が期待している方法ではありません)
このクラスを考えると...
class Dummy {
void start() {
var a = _onEvent;
var b = _onEvent;
print(a == b); // false. ???????
}
void _onEvent() {
}
}
からインスタンス化し、そのメソッドmain()
を呼び出すと、 . コードが への参照を取得するたびに、何らかの関数またはクロージャ オブジェクトの新しいインスタンスが作成されて返されるようです。start()
false
_onEvent
これは意図的な動作ですか?
同じインスタンスの同じメソッドへの複数の参照を取得すると、毎回同じオブジェクトが返されると思います。おそらく、これは何らかの理由で意図されています。もしそうなら; なんの理由で?それとも、これはおそらく VM のバグ/見落とし/制限ですか?
洞察をありがとう!