問題タブ [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.
haskell - 予想されるタイプ Int と推測されるタイプ Integer を一致させることができませんでした
グラフ内の特定の頂点の近傍を計算する単純な haskell 関数をいくつか作成しました (以下を参照)。正常にコンパイルされますが、実行するadj g 1
と次のエラーが発生します。Couldn't match expected type `Int' against inferred type `Integer'
コード:
javascript - TypeScript で推論された型を参照する
TypeScriptで推論された型を参照する方法はありますか?
次の例では、適切な推論された型を取得します。
Test
しかし、インターフェイスを明示的に定義せずに、"Whatever returns" 型のパラメーターを受け取る関数を定義したい場合はどうすればよいでしょうか。
これは回避策ですが、Test に独自のパラメーターがある場合は面倒です。
Test が返すものの推論された型を参照する方法はありますか? インターフェイスを作成せずに、「テストが返すものは何でも」と入力できますか?
私が気にする理由は、通常、クラスの代わりにクロージャー/モジュール パターンを使用するためです。Typescript では、そのクラスを記述するインターフェイスを作成できますが、既に何かをクラスとして入力できます。クラスの代わりに関数が返すものとして何かを入力したい。理由の詳細については、Typescript のクロージャ (依存性注入)を参照してください。
これを解決する最善の方法は、依存関係をパラメーターとして受け取るモジュールを定義する機能、またはクロージャー内でモジュールを定義する機能を TypeScript が追加した場合です。次に、気の利いたexport
構文を使用できます。これについて何か計画があるかどうか知っている人はいますか?
java - Java の推論された型とリスト: 一般的なクイックソートの例での作業
Rosettacode で、Java で実装されたクイックソートのこの例に従っています。私が理解していることから、これは Comparable インターフェースを実装するものの配列を取り込むことになっており、その型は実行時に推測されます。これを main メソッドを含む小さなクラスにまとめましたが、推論された型に関する多くのエラーが発生します。私はJavaに比較的慣れていないため、この構造にはまだ慣れていません。
そして、コンパイル時にこれらのエラーが発生します
3 つの質問があります。
1) は何をしますか? 次のステートメントの意味は?
2) getFirst() メソッドにより、これは LinkedList オブジェクトで動作するように作られているようです。あれは正しいですか?もしそうなら、これを一般的なリストで動作させることはできますか? int の配列を List としてキャストする必要がありますか。ここで少し混乱しています。ListとLinkedListの両方の javadoc を参照してきました。
3) LinkedList の代わりに、List オブジェクトを使用してこれをすべて達成できますか? この例で LinkedList が選択された理由がわからないのですか? また、これを整数の配列で呼び出したい場合、配列がリストから継承しているように見えないため、途中で入力を別の方法でキャスト (?) する必要がありますか?
初めてJavaを実際に学習したばかりで、本当に基本的な質問で申し訳ありません。
c# - 辞書に参加とリストエラー (メソッドの型引数は使用法から推測できません)
に参加しようとしてDictionary<int, string>
いList<MyClass>
ますが、エラーがスローされます
「メソッドの型引数は使用法から推測できません」。
しかし、私にはすべての引数が完全に定義されているようです...
row
は 、Row
は 、device
はpair<int,string>
、device.Key
はint
kdevice.Value
です。何が問題ですか?ばかげたことに違いないことはわかっていますが、このエラーで立ち往生しています。
scala - 推論された型引数
このスニペットのコンパイル中にエラーが発生するのはなぜですか?
エラー:
どうすればこれを修正できますか?
ロングフィールドの定義:
java - Javaジェネリックは、ネストされたメソッド引数がタイプセーフでない場合、Tの代わりにネストされたメソッド呼び出しのオブジェクトを推測します
javac
今日、ジェネリック型の推論に関して奇妙な動作に遭遇しました。この奇妙な動作を説明するクラスの例を次に示します。
//Doesn't work
コメントに注意してください。このコードのコメントを外すと、奇妙なコンパイラ エラーが発生します。
奇妙なことに、strange
メソッドの戻り値の型が T ではなく Object であるというエラーが表示されますが、2 番目の安全でないパラメーターが正しい型にキャストされると、T が正しく推論されます。
これが正しい動作かどうか誰かが説明できますか? 私には奇妙に見えるからです。コンパイラのバグでしょうか?
この行が機能する理由
これはそうではありませんか?
Java 7および6でテストしました。
c++ - C++ は、関数の戻り値の型から型が自動的に推論される関数内でローカル変数を使用できますか?
私の質問: C++ (または C) で関数を定義しているとします。定義している関数の戻り値の型から推論される型を持つローカル変数を宣言するために、関数定義内で使用できるC++ のautoまたはdecltypeに似たものはありますか?
例: C および C++ の一般的なコーディング パターンは次のとおりです。
そして、明示的に入力するのではなく、2 番目のSomeTypeを推測したいと考えています。以下は機能しませんが、この精神で何かできることを望んでいました
単純な戻り値の型の場合は大したことではありませんが、戻り値の型が複雑な場合 (戻り値の型が多くのテンプレート パラメーターを持つテンプレート クラスであるとします)、その型を繰り返さなくてもよい (そしてエラーが発生しにくい) と便利です。関数内の定義。
また、これを達成するために関数定義を変更する必要がないようにしたいと思います。したがって、上記の例ではSomeTypeをマクロに変更したり、おそらくfooをテンプレート関数にしてSomeTypeをテンプレート パラメーターにしたりすることでうまくいく可能性がありますが、実際には、戻り値の型から具体的に型を推測できるかどうかを確認したいと考えています。周囲の機能の。
多分答えは「いいえ、それは不可能です」です。
java - 推論された公理と明示的な公理を区別する方法は?
OWL API と推論機能の操作に関する基本的な質問が 1 つあります。
私は JFact Reasoner を試し、正常に実行し、多くの公理を取得しました (そのうちのいくつかは推論され、一部は元のオントロジーで明示的に述べられています)。
それらを区別する必要がありますが、それを行う方法が本当に見つかりません。
OWLClass または他の場所にメソッドはありますか?
c++ - C++ テンプレート パラメーターの型の推論
私はC++でそのようなテンプレートを持っています
だから私はそれをそのまま使うことができます:
また
int
しかし、タイプや IDi
を 2 回指定したくありません。
コンパイラにint
型部分を自分で判断させます。
それを行うためにテンプレートを宣言するにはどうすればよいですか?
私はこの質問を読みましたが、答えはマクロを使用しています。それは良くありません: テンプレート c++ のテンプレート?
マクロなしでテンプレートだけでこれを行うことはできますか? Visual C++ 2013 を使用しています。
rust - 文字列を数値に解析する際の型の推測と型注釈の使用
指定された文字列からフロートを解析する関数を作成しようとしています。間違った値または負の値の場合はエラーを返す必要があります。
このコードは次のようになります。
最初のポイント。このエラーは奇妙に思えます。なぜなら、私が正しく理解していれば、 の型はvalue
自動的に推測できるからです。結果の型から、 の型は でvalue
なければなりませんf32
。
2番目の質問。このエラーを修正するにはどうすればよいですか? またはより一般的な - Rust で式の型に注釈を付ける方法は?
たとえば、Haskell では次のように記述できます。
または型注釈をパターンマッチに入れます::