問題タブ [parametric-polymorphism]

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.

0 投票する
0 に答える
101 参照

scala - パラメータ化された抽象型と共分散に戸惑う

次の Finagle サービスについて考えてみましょう。これは、型システムを通じて、要求が正しい型の応答になることを保証します。

最後の 3 行でRequest[T]#Responseandrequest.Responseの代わりにRequest[T]#Response[T]and と言えたらいいのにと思います。request.Response[T]

私の試みは、さらに間接性を追加することでした:

しかし、これにより共変型Tが不変の位置に現れました。

これを行うことはまったく可能ですか?

0 投票する
2 に答える
221 参照

scala - Scala: 二重に F-Bounded Polymorphic 型のコンパニオン オブジェクト

私はFバウンドタイプを持っています:

そして、最初のタイプによってパラメータ化された 2 番目の F-Bound タイプ。

これらの型を利用するケース クラスを喜んで書くことができます。

ここで、ケース クラスのコンパニオン オブジェクトが必要です。これは、特性 B を通じて参照できます。たとえば、次のようになります。

しかし、コンパニオン パラメーター化 (最後の行) の BInst には型パラメーターが必要なため、これはコンパイルに失敗します。同様に

失敗します。コンパニオン オブジェクトの正しい型は何ですか?

0 投票する
1 に答える
49 参照

scala - 3 レベルの深い F-Bound 型の構築

私は 3 つの F-Bound タイプAB&Cを持ってBいます。とをインスタンス化できますが、 をインスタンス化しようとすると、コンパイラは型を推測できません。明示的に型を指定すると、すべてが機能しますが、これらの型が失われるのはかなりばかげているようです (これは型の消去によるものですか?)。ACBAABC

具体的に型を指定する必要がない回避策はありますCInstか?

現在、型のパラメーター化を使用して F-Bounds を実装していますが、抽象型メンバーに切り替えるとこの問題は解決しますか? その時、クラスはどのようになりますか?

0 投票する
2 に答える
155 参照

scala - クラスのパラメトリック型に特性を追加する

abstract class Base[T]ユーザーが指定した型を超えるライブラリがありTます。多くの特定Base[T]のサブクラスがあり、一部はTSなどのオーバー タイプSpecific[T, S]ですが、これは関係ありません。もちろん、ユーザーはインスタンスの作成中に任意のものを指定できますが、それを特性Tとして扱いたい、つまり、ユーザーのタイプを. Scalaでそれを行うにはどうすればよいですか? この質問のタイトルが正しいことを願っています。TAdditionalAbilitiesAdditionalAbilities

例 (構文的に正しくない可能性があります)

どんなものでも動作しますT

0 投票する
1 に答える
2091 参照

c# - パラメータ タイプから派生した任意のタイプのパラメータを受け入れるアクションを作成するには (多態性パラメータ)

Web API でクライアントがサーバーに要求するための動的構造を構築したいと考えています。次のコードを使用して質問に対処しようとしましたが、機能しません。

  1. <travel>ジェネリック型のようなサービスを送信するにはどうすればよいですか
  2. サーバーコードを変更するにはどうすればよいですか (またはクライアント/サーバーをすべて変更する必要があります)?

PS:私の質問を最後まで読んでくれてありがとう。

クライアントコード

機能していないサーバーコード

ところでそれは大丈夫ですが、サーバーに < T > を送信する方法がわかりません

エラーメッセージ
Client call server, server will be getting an error message " StatusCode: 404, ReasonPhrase: 'Not Found' "