問題タブ [generic-function]
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.
r - ジェネリック関数プロットの引数を変更するにはどうすればよいですか?
私のコードが正しく動作しない理由。引数 hist.args = NULL, plot.args = NULL を plot.gevp 関数内の関数 plot と hist に正しく渡すにはどうすればよいですか?
次のような関数を呼び出すと:
エラーが発生しました:
どうすればこれを修正できますか?
swift - クラス拡張を汎用プロトコル関数に準拠
* 短縮版 *
クラス (拡張機能) を汎用プロトコル関数に適合させるにはどうすればよいですか?
※ロングバージョン※
これは、ページ分割されたコレクションをサポートするためのデータ構造の小さな部分です。
「実際の」ケースを使用したプロトコルの実装は次のとおりです。
次のエラーの取得(1):
タイプ「人」はプロトコル「ページ」に準拠していません
プロトコルにはネストされたタイプ 'PageItemType' が必要です
私も明示的にしようとしましたが、別のエラーが発生しました:
次のエラーの取得(2):
タイプ「Person」の戻り式を戻りタイプ「PageItemType」に変換できません
だから: *どうすればitemAt
、PageItemType typealias の有効な型を関数に返させることができますか?
*ボーナス*
50 報奨金に値するボーナス質問(回答が 1 行より長い場合は、新しい質問を開きます): 最初のコード スニペットを参照するPagedCollection
- 各 Page 実装には常に Pageable プロトコル オブジェクト タイプの既知の実装があることを前提としています。
- 宣言を避ける方法はあり
ItemType:Pageable
ますか? または、少なくともwhere
句でそれを強制しますか?
r - RでXを入力して「X」を表示するにはどうすればよいですか?
ジェネリック関数呼び出しの引数のオブジェクト名を取得するにはどうすればよいですか?
おもちゃの例は質問を明確にし、私が理解しているように、コアの問題です。いくつかの S3 クラスのオブジェクトを考えてみましょう:
オブジェクトについては、単にオブジェクトの名前SomeClass
を出力する (ばかげた) メソッドを作成したいと考えています。特に、コンソールで入力すると、名前が表示されます。print
X
X
私は次の方法でこれを実装しようとしました:
期待どおり、呼び出すとprint(X)
が得られX
ます。しかしX
、コンソールで(大文字)を入力するだけでx
(小文字):
何を与える?これx
は、ジェネリック関数の引数の名前に由来していると思いますprint
。print.SomeClass
直接呼び出すと、どのように変更する必要がありX
ますX
か?
この問題は、コンソールでの裸の呼び出しによるオブジェクトの表示と、コンソールによるオブジェクトの表示との間の不一致のようprint
です。これらは完全に同等ではありません。substitute()
コール スタックの他の場所に特定の環境を提供する必要があるのではないかと思います。しかし、その場合、どちらが食い違いを埋めるのかわかりません。
ios - コアデータ / Swift 3.0
これは、かなり長い間機能してきた関数 (Core Data に情報を挿入するのに非常に便利) です。Swift 3.0 に移行してから、問題が発生し、最初の行でクラッシュします。私は何か見落としてますか?
デバッガコンソールに次のエラーが表示されます。
そして、アセンブリ コードとともに次のことがわかります。
generics - 具象型でジェネリック クロージャを呼び出す
具体的な構造体を使用して、具体的な型を使用してジェネリック関数を呼び出すことは可能ですか?
ここに私がやりたいことの小さな例があります:
V
解決したい実際の問題はもっと複雑であるため、ジェネリックパラメーターを取り除くことはできません。さらに、ラッピング トレイトを作成することはできません。これは、署名が弱い場合や、f
さらに多くのトレイトが必要な場合があるためです。