問題タブ [method-signature]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javaコレクション。add(E obj)、ただしremove(Object obj)
コレクションで宣言されたJava関数のシグネチャについて質問があります。問題は、署名にE(私たちのタイプ)がadd含まれているのに、パラメーターObjectがあるのはなぜですか?remove
この質問のWWWで1つの応答を見ましたが、その理由はわかりません
「削除では、必要な操作は1つだけです。equalsとObjectが提供します」
もっともらしいです。
c# - メソッドシグネチャの定義?
メソッドシグネチャ(またはメソッドのシグネチャ)の正しい定義は何ですか?
グーグルで、私はさまざまな定義を見つけます:
メソッド名とパラメータリストの組み合わせです
それはどういう意味method signature = method name + argument listですか?そうすると、「メソッド」と「メソッドシグネチャ」の違いがわかりません。
私が方法を持っている場合:
私のメソッドシグネチャは次のいずれかですか、それともどちらでもありませんか?
- フー
- Foo(int、int)
- Foo(int x、int y)
- Foo(34、78)
誰かがメソッドのメソッドシグネチャとは何かと尋ねられた場合、どのように答えると思いますか?
python - ([start ,] stop [, step]) のような署名を持つ python メソッドを実装する方法、つまり左側のデフォルトのキーワード引数
Python 3.X では、build-idrange()関数はもはやリストではなく iterable を返すため、range()必要なリストを便利に生成するために使用する古いコードの一部は失敗します。
だから私はlrangeこのような独自の関数を実装しようとします:
「デフォルト以外の引数がデフォルトの引数に続く」というインタープリターエラーが発生します。
Python のrange()を見ると、可能のようです。
この質問を投稿した主な理由は、そのような署名を持つ関数を自分で実装できるかどうか/どのように実装できるか疑問に思っていたからです
java - static import メソッドのオーバーラップ
静的インポートを持つクラスがjava.lang.Integerあり、私のクラスにも静的メソッドparseInt(String)がある場合、呼び出しはどのメソッドをparseInt("12345")指しますか?
前もって感謝します!
objective-c - プロトコル メソッドのエンコーディング文字列を入力します
NSMethodSignatureプロトコルで宣言されたメソッドの署名 (オブジェクトまたは少なくとも型エンコーディング文字列)を取得しようとしています。
Protocolオブジェクト自体に尋ねることはできません。なぜなら、a) を実装していないmethodSignatureForSelector:、および b) (以下の Kevin が述べているように) 非推奨だからです。
ランタイム関数は、ドキュメントのどこにも記載されていない をprotocol_getMethodDescription返します。struct objc_method_descriptionただし、これはパブリック ヘッダーにあります -- <objc/runtime.h> :
typesそこにある文字列は、 によって期待されるような、他の場所で使用されるのと同じ種類の署名エンコーディング文字列であると想定するのが合理的であり+[NSMethodSignature signatureWithObjCTypes:]、実際、それは正しいように見えます。
私が追跡できないのは、その文字列と型エンコーディング プロセスとの間の実際の検証可能な接続です。
他に何があるかはわかりませんが、それでも、この文字列が同じランタイム上のtypes他のオブジェクト/関数との相互作用に有効であることに依存する正当な理由はありますか? 私はエンコーディング文字列を自分で書いたり、特定の形式や値を持つことを期待したりしていないことに注意してください-ランタイム/フレームワークのある部分から別の部分に渡したいだけです。つまり、プロトコルからエンコーディング文字列を取得し、 ) 他の方法でオブジェクトが利用できない場合は、それを使用してオブジェクトを生成し、おそらく b) 実行時に生成されたものと比較します(つまり、 で)。NSMethodSignatureNSInvocation-forwardInvocation:
perl - MooseX::Method::Signatures メソッドでエイリアス配列参照を渡すにはどうすればよいですか?
MooseX::Method::Signaturesは配列参照をパラメーターとして取得し、それをメソッド内で通常の配列として使用できる必要があります。 Method::Signatures のエイリアス参照を参照してください。
ドキュメントのコードを例として使用して、次のように記述しました。
ただし、次のように失敗します。
これは、Perl 5 を使用しているからですか?
java - Java リフレクションでパラメーター名を取得する方法
Java リフレクションでメソッド シグネチャを取得するにはどうすればよいですか?
編集: 実際には、メソッドの型ではなく、パラメーター NAMES が必要です。
java - varargs が常にメソッド シグネチャの最後のパラメータになるのはなぜですか?
varargsメソッド署名の最後のパラメータでなければならないのはなぜですか?
理由が知りたいです。
c++ - メソッド呼び出しはどのように解決されますか?
次の場合のメソッド解決規則とは何かを明確に説明してください。コードの動作に基づいたアイデアがありますが、明確にしたいと思います。
「呼び出し元オブジェクトの const-ness によって、MyArray::Get() のどのバージョンが呼び出されるかが決まります。したがって、呼び出し元に、オブジェクト内のプライベート データを操作または観察するための参照が与えられるかどうかが決まります。ウィキペディアの const correctnessから、「this」ポインターの型が異なり、コンパイラーが正しいものを選択できるため、2 つのメソッドは技術的に異なる署名を持っています。 const メソッドと非 const メソッドには 2 つの異なるシグネチャがあります)。
asp.net-mvc-3 - MVC3オプションのパラメーター
これはこれに対するフォローアップです: MVC3はC#オプションパラメーターで何をしますか?
次の署名を持つアクションがあります。
server / show / 1を要求すると、pubErrorsはnullではありませんが、titleはnullです。どうしてそれは可能ですか?これらは2つのオブジェクトにすぎませんが、文字列はどういうわけかnullになります。これはどこで修正できますか?
編集:クラス定義が追加されました