プロパティを持ち、関数呼び出しの表記だけを使って呼び出すことができるオブジェクトを作成する方法はありますか? Pythonの__call__
に相当するもの。例えばオブジェクトを呼び出し可能にするにはどうしたらいいですか?
:
obj = ExampleClass.new()
obj() # call notation
代替アプローチは歓迎され、私は独自のプロパティを格納するための呼び出し可能な「オブジェクト」のための方法が必要です。
私がしようとしているのは、変数に呼び出し可能な "オブジェクト"を格納することです。このオブジェクトはそれに関連付けられたプロパティを持ちますが、同時にメソッドと同じように使用できます。括弧は、オプションと、それゆえであるため、
私は気付いていません(そうするための大きなユースケースはないと思います)。特定の用途を解決しようとしていますか?より良いアプローチがあるかもしれません。 –
"関数とまったく同じように使うことができます" - ルビには関数(例えばjavascriptのような種類)はありません。 –