問題タブ [inferred-type]
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 - ジェネリック メソッド mapValues(map,mapper) のシグネチャは?
Java 8 の特定の重要な機能機能の欠如を補うためにカスタムCollectionUtils
クラスを作成しました。しかし、私は複雑なジェネリック性に精通しておらず、次のメソッドにどのシグネチャを与えるべきか確信が持てません。
このように動作しますが、うまくいきません。たとえば、次のコードはコンパイルされません。
(エラー:カテゴリを解決できないか、フィールドではありません。category
もちろん、のフィールドですが、コンパイラはここCandidate
の型を推測してそれを として設定することができません)、これは正常にコンパイルされます:x
Object
コンパイラがマップのタイプを正常に推測できるようにする方法はありますか?
sql-server - nvarchar がありません:「オペランド データ型 nvarchar は合計演算子に対して無効です」
ProductName
、Qty
、およびその他の列を返すビューがあります
次のように定義されます。
SomeConcreteTable
とを定義ProductName
します。nvarchar(40)
Qty
float
これにより、エラーが発生します
オペランドのデータ型 nvarchar は合計演算子に対して無効です
ビューが行を返さない場合、行をWHERE
返すようにビューの条件を変更してもエラーは発生しません。
ビューが行を返すかどうかに関係なく機能します。
この投稿で、Lieven Keersmaekers は、クエリでの匿名型の使用には、型のカウントが推測されないため、同じ問題があったと述べています。
理にかなっています。
ただし、私の場合、型は推論されるべきではありません-それらはテーブルからのものです。
そのようなよく悪用される質問をするつもりはありませんが、これはバグですか?
合計が null 許容 float (varchar ではなく) に対するものである場合に、行がない場合の合計でこのエラーが発生するという予期しない動作のようです。
Microsoft SQL Server 2012 (SP1) - 11.0.3482.0 (X64)
scala - scala: 型は `Any` であると推論されました。これは、プログラミング エラーを示している可能性があります
このコードには致命的な警告があります
何が問題なのかよくわかりません: https://issues.scala-lang.org/browse/SI-9211 では、コードを修正できるか、または scala の問題の回避策が必要かアドバイスをお願いします。
=====================
その他の実験:
コンパイルはOKですが、
警告があります....
.net - .NET が特定の型を自然に想定するのはなぜですか?
次のコードを検討してください。
32 という数字は、、、、、などの中sbyte
に収まります。byte
short
ushort
.NET がこれを .NET と見なすのはなぜint
ですか?
var x = 3.2;
.NETに対する同じ質問は、double
c# - T が Enumerable であるジェネリック インターフェイスの拡張メソッド
私は、コンパイル時の強力な型チェックに焦点を当てた流暢な引数アサーション ライブラリを実装しています。Intellisense は、アサートされた型で使用可能なメソッドと拡張機能のみを表示する必要があります。
IEnumerable の拡張機能を作成するときに、適切な型引数を解決できません。
ライブラリのアイデアは、IAssertion 型のアサーション インスタンスを返す任意の型で ThrowIf (または ThrowIfNot) を呼び出すことができるということです。
IEnumerable に特定のアイテムが含まれているかどうかを確認したいと思います。2 つのオーバーロードがあり、1 つは型 T のオブジェクトをパラメーターとして受け取り、もう 1 つは評価を行う関数を受け取ります。
実際の型のインスタンスを取るオーバーロードを使用すると、すべてがうまくいきます。ただし、関数コンパイラを使用した後者は、キャストが行われない限り、型引数を適切に推論できません。
関数パラメーターのキャストを行わずにコンパイラーを満足させる方法はありますか?
実装の詳細については、 https ://bitbucket.org/mikalkai/argument-assertions/overview を参照してください。
c# - これが自動的に推測されないのはなぜですか?
これまで、C# の推論は常にうまく機能していました。ケースを単純化するために、テスト例を作成しました。
私は推論についてかなり読んだことがありますが、なぜこれが機能しないのかはわかりません。
android - 型の不一致: 推測された型はリスト以外の型です? 期待されていた
ニュース アプリを開発していますが、MainViewModel.kt クラスで次のエラーが発生します。型の不一致: 推論された型はリスト以外ですか? 期待されていた
My MainViewModel.kt の下
以下 UserCaseResult.kt
typescript - Typescript は動的に型を推測します
変数に格納されている関数があり、それを別の関数に渡したいのですが、この関数がそのパラメーターを再利用したいのです。しかし、うまくいきません。例を見る
typescript - Typescript関数:パラメータの後の「:」タイプは何を意味し、一部の関数にはそれがないのはなぜですか?
質問
手短に :
(質問のタイトルにあります)
- 関数パラメータの後の「:」はどういう意味ですか?
- 常に存在するとは限らないのはなぜですか?
例を挙げて:
たとえば、Typescript で関数を記述するさまざまな方法を確認できました。
例 1
だけでなく、
例2
「function(params):」の後に続くものがタイプである場合、なぜそれが常に存在しないのか、私には本当に理解できませんでした。たとえば、Java や C++ では、関数は常にそれが返すものの種類を示します。関数が何も返さない場合でも、これらの言語では として示されvoid
ます。
typescript - 可変長のジェネリック配列タプルを返す関数
次の点を考慮してください。
私が望むのは、代わりに型が表面化することです:
したがって、doIt
関数が完全にジェネリックで可変長のタプル型を返すと想像してください。関数への入力によって駆動されます。したがって、これも機能します。
これは可能ですか?infer
または、およびタプルの限界に達しましたか?
参照: TypeScript の可変長配列タプル? Typescript、タプルを返す一般的な可変個引数ファクトリ関数
@A_blop の回答に基づいて更新します。
こんにちは、あなたの答えに感謝します! 質問には答えますが、呼び出し元が を使用することに依存していas const
ます。がないとas const
、残念ながら機能しません。
これが鍵になるかもしれません。いくつかのコンテキスト: 質問の背後にある質問は、react-query の型定義を改善するために私が提起した PR です: https://github.com/tannerlinsley/react-query/pull/1527/files
現時点での変更は次のようになります。
これは素晴らしいことですが、非特定の型推論の問題があります。理想的には、次の動作が必要です。
しかし、発信者が指定する必要がなければ、as const
それは可能ではないでしょうか?