問題タブ [subtyping]
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.
function - Scala val 構文: val myVal:{ def ... } とはどういう意味ですか?
私は Scala と funcprog が初めてです。
私はコードを持っています (あなたの何人かはそれを認識するかもしれません):
val ValueChanged: {...} が何であるかを理解していません。
この投稿から、私は一種のことを学びました
と
これらは異なる名前空間などにあり、 タイプ ValueChangedはEventの抽象サブタイプであるため、2 つの無関係なものです。
それでは、Scala ワークシートで試してみます。
そして、「クラスのみが宣言されたメンバーと未定義のメンバーを持つことができます」というエラーが表示されます...同様の構造ではありませんか?
最後に、質問は次のとおりです。
コードのval ValueChanged部分のValueChangedとは何ですか?
タイプ ValueChanged <: イベントとは本当に無関係ですか
この構文の意味:
val myVal:{def func{x:T}:T}
? ここでの値の名前、その型、および実際の値は何ですか?
ありがとう!
java - ArrayList of objects and abstract
I am trying to learn wildcards in Java. Here I am trying to modify the printCollection
method so that it will only take a class which extends AbstractList
. It shows the error in comment. I tried to use an ArrayList
of objects, it works fine. I am using Java 7.
debugging - functor適用後にpolymlでジェネリックの特殊化/サブタイプを表示する
次のプログラムでは、 がジェネリック型valStr.value
のサブタイプを想定していることがわかります。しかし、私がそれをタイプで調べると、 として示されています。に特化したインタプリタで見る方法はありますか?pair
t
poly
t
poly
t
pair
これは私が実行したときに得られるものですpoly
:
それを生成するために使用されるコードは次のとおりです。
java - Java SE 仕様 |S| シンボル
サブタイプとキャストについて Java 仕様を読んでいます。 S <: T は、S が T のサブタイプであることを意味します。<: |T| 意味?たとえば、このコンテキストでは:
型引数の 1 つは型変数またはワイルドカードで、上限は (必要に応じてキャプチャ変換から) S です。もう 1 つの型引数 T は、型変数またはワイルドカードではありません。|S| も |S| もありません。<: |T| |T|でもありません <: |S|.
|T| 参照の型は? Tのクラスを指していますか?
sql - Postgres で外部キーをターゲット テーブルのサブセットに定義する
例:
私は持っています:
列 table_b_id に制約チェックを追加して、型の値が「X」であるテーブル B の行のみを指していることを確認します。
テーブル構造を変更できません。
「CHECK」と特定のクエリを実行するpostgres関数を使用して実行できることは理解しましたが、回避することを推奨する人を見てきました。
それを実装するための最良のアプローチは何かについての情報は役に立ちます。
haskell - forall はなぜ a. a は Int のサブタイプとは見なされませんが、forall a 型の式を使用できます。Int型のどこかが期待されていますか?
型チェッカーを通過する次の関数定義のペアを考えてみましょう。
つまり、forall a. a
型の式が期待される場所で、型の式を使用できますInt
。これはサブタイピングによく似ているように思えますが、Haskell の型システムにはサブタイピングがないと言われています。これらの代替可能性の形態はどのように異なるのでしょうか?
この質問は に固有のものではありませんforall a. a
。その他の例は次のとおりです。
java - Casting bounded wildcard to unbounded wildcard within a generic type is an error (X> to X>
Consider this sample:
In other words, I can assign a Class<? extends T>
to a Class<?>
for some arbitrary T
but not a Set<Class<? extends T>>
to a Set<Class<?>>
.
It probably has something to do with some limitation on covariance/contravariance, but what?
I could introduce a cast: Class.class::cast
would do it. But is there a way to bend the compiler to my will with subtle type-fu rather than bashing it in the head with a cast?