タグ付けされた質問 「multiple-dispatch」

15
Python関数のオーバーロード
Pythonがメソッドのオーバーロードをサポートしていないことは知っていますが、Pythonのようにうまく解決できないように見える問題に遭遇しました。 キャラクターがさまざまな弾丸を発射する必要があるゲームを作成していますが、これらの弾丸を作成するためのさまざまな関数をどのように記述すればよいですか?たとえば、A点からB点まで所定の速度で移動する弾丸を作成する関数があるとします。私はこのような関数を書きます: def add_bullet(sprite, start, headto, speed): ... Code ... しかし、次のような弾丸を作成するための他の関数を書きたいと思います。 def add_bullet(sprite, start, direction, speed): def add_bullet(sprite, start, headto, spead, acceleration): def add_bullet(sprite, script): # For bullets that are controlled by a script def add_bullet(sprite, curve, speed): # for bullets with curved paths ... And so on ... など、多くのバリエーションがあります。あまりにも多くのキーワード引数を使用せずにそれを行うより良い方法はありますか?各機能の名前を変更すると、あなたがいずれかを取得するので、あまりにもかなり悪いですadd_bullet1、add_bullet2かadd_bullet_with_really_long_name。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.