私のコードには、次のような繰り返しの作業がたくさんあります。
リーリー私の問題は、異なる数/型のパラメータを持つ新しい fp 型を追加するたびに、このメソッドを再定義する必要があることです。そのため、コード内でデコレータを 4 ~ 5 回再定義することになります。もう少し作業がかかるかもしれません。
をデコレータに置き換えたい リーリーそして fp に型をアサートさせます。しかし、インターフェイスを使用しないことやパフォーマンスの問題を引き起こすことをよく見てきたため、これが問題を引き起こすかどうか、悪い使用例であるかどうかはわかりません。
何らかの理由で、ジェネリックは役に立ちません。特にジェネリックは型に対してのみ役に立ち、パラメータには役に立ちません数量### 助けにならない。個人的には、私はこの問題に別の方法でアプローチします: リーリー クロージャを使用して呼び出します:
リーリーこれは呼び出し側では少し冗長ですが、任意の数またはタイプのパラメータ、および任意の数またはタイプの戻り値など、あらゆる関数シグネチャに対して完全に機能します。メソッド呼び出しでも機能します。結果に基づいてロジックを実行しているようですので、次のこともできます:
リーリー装飾された関数がその bool よりも多くの戻り値を持っている場合、または他のロジックを使用したい場合 (たとえば、エラーを返した場合に
を使用して bool に変換したい場合でも) は機能します。 !=)。なし)。
以上がこれはジェネリックの有効な使用例ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。