問題タブ [variance]

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 投票する
1 に答える
137 参照

.net - インターフェイスのジェネリック型パラメーターの差異を検出する

インターフェイスを反映して、ジェネリック型パラメーターと戻り値の型の差異を検出する方法はありますか? つまり、リフレクションを使用して 2 つのインターフェイスを区別できますか。

両方の IL は同じに見えます。

0 投票する
4 に答える
3785 参照

c# - C#のrefおよびoutパラメータであり、バリアントとしてマークすることはできません

ステートメントはどういう意味ですか?

ここから

C#のrefおよびoutパラメータであり、バリアントとしてマークすることはできません。

1)次のことができないということですか。

2)それとも、私が次のものを持てないという意味ですか。

(2)を試してみましたが、うまくいきました。

0 投票する
3 に答える
18210 参照

r - Two-Way ANOVA の等分散性検定

私は基本的な ANOVA の仮定、とりわけ等分散性 (均質性、分散の等式) をチェックするためにvar.testおよびを使用してきました。bartlett.test一元配置分散分析の手順は非常に簡単です。

しかし、2x2 テーブル、つまり Two-Way ANOVA の場合、次のようなことをしたいと思います。

もちろん、ANOVA の仮定はグラフィカルな手順で確認できますが、「算術オプション」はどうでしょうか。それは、まったく管理可能ですか?Two-Way ANOVA で等分散性をどのようにテストしますか?

0 投票する
6 に答える
4834 参照

java - オーバーライドにパラメーターの反分散がないのはなぜですか?

C++ と Java は、メソッドをオーバーライドするときに戻り値の型の共分散をサポートします。

ただし、どちらもパラメーター型の反分散をサポートしていません。代わりに、オーバーロード(Java) または非表示 (C++) に変換されます。

なぜですか?それを許しても害はないように思えます。その理由の 1 つを Java で見つけることができます - とにかくオーバーロードするための "choose-the-most-specific-version" メカニズムがあるため - しかし、C++ の理由は考えられません。

例 (Java):

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

scala - うまくバリアントタイプを持つTraversableLike.mapのアナログで「ライブラリをポン引き」できますか?

mapScalaのような機能を追加したいとします。これはList、の行に沿ったもので、関数を2回の各要素にlist mapmap f適用します。(より深刻な例は、並列マップまたは分散マップの実装ですが、その方向の詳細に気を取られたくありません。)flist

私の最初のアプローチは

これは今うまくいきます

もちろん、それはs専用であり、 sやsなどの関数を使用して、Listこれを何に対しても機能させたくない理由はありません。したがって、2回目の試行は次のようになりますTraverseablemapSetStream

しかし、もちろん、結果をList[A]:に割り当てることはできません。

妥協点はありますか?Traversableのすべてのサブクラスにメソッドを追加し、そのタイプのオブジェクトを正常に返す暗黙の変換を記述できますか?

(これには恐ろしいCanBuildFrom特性を理解することが含まれると思います、そしておそらくbreakout!)

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

c# - C# の分散関数が正確な値を返さない

ソースデータ:

分散関数:

Excel と一部のオンライン計算機では、分散が 1.56562E-06 であると表示されますが、私の関数では 1.53492394804015E-06 が得られます。C#に精度の問題があるのか​​ 、それとも何なのか疑問に思い始めます。以前にこの種の問題を抱えている人はいますか?

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

scala - Scalaで共分散表記または一般的な境界を使用する場合

Scalaでは、分散はジェネリック型引数の+や-などの分散演算子で定義できます。たとえば、Listタイプは標準ライブラリでは共変です。

したがって、共変リストを持つ関数は次のように定義できます。

また、分散は一般的な境界でエミュレートできます。だから私たちもこれを書くことができます

もちろん、これは意味がありませんlist。すでに共変であるためです。しかし、共変ではない型に対しても同じトリックを行うことができます。(のようにStack)。もちろん、共変であるスタック(集約の継承)から新しいタイプを作成することもできます。

だから私の質問:

  1. 分散に一般的な境界を使用する必要があるのはいつですか?そして、いつ新しい共変型を作成する必要がありますか?
  2. 一般的な境界は分散にのみ役立ちますか、それとももっと宣言できますか(言語の概念)。
  3. それらが分散にのみ役立つ場合、境界はJavaとの互換性のためだけですか?

事前にt​​hx:)

0 投票する
3 に答える
534 参照

c# - ジェネリックパラメータデリゲート?

私は新しいAction/Func / Variance / CoVarianceのものに少し曖昧です。これは、おそらく私が必要としているものです。

私が欲しいのは、デリゲートをパラメーターとしてメソッドに渡すことができるようにすることです。このメソッドは、文字列を受け取り、ブール値を返します。問題は、ライブラリを共有しない別のライブラリで使用され、両方が3分の1によって呼び出されるため、型付きデリゲートまたはインターフェイスを使用できないことです。

したがって、一般的には、デリゲートが入力タイプと戻りタイプによって推測されるようにします。

したがって、次のようになります。

AとBがライブラリを共有していない場合、それは可能ですか?

0 投票する
4 に答える
3992 参照

c# - Java の使用サイトの差異は、C# の宣言サイトの差異とどのように比較されますか?

私の理解では、C# でのジェネリックの差異の指定は、型宣言レベルで行われます。つまり、ジェネリック型を作成するときに、型引数の差異を指定します。一方、Java では、ジェネリックが使用される場所で分散が指定されます。ジェネリック型の変数を作成するときは、その型引数がどのように変化するかを指定します。

各オプションの長所と短所は何ですか?

0 投票する
4 に答える
5616 参照

inheritance - Scala関数の分散とオーバーライド

オーバーロード時のメソッドの分散を理解するのに少し問題があります。

これは、リターンタイプの共分散のために完全に機能しますが

関数のパラメータータイプが反変であっても、これは失敗します。

ここで何が間違っているのですか?ポインタはありますか?

よろしく、raichoo