問題タブ [implicit]

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

scala - 一般的な特性の暗黙の変換

私はデータ構造を実装しており、ユーザーがそれをラップする適切なキータイプを提供する限り、キーとして任意のタイプを使用できるようにしたいと考えています。このキータイプには特徴があります。アイデアは、ベースからキータイプへの暗黙の変換を行い、逆に(事実上)ベースタイプのみを使用することです。特性は次のようになります。

コールサイトコードは次のようになります。

計画では、タイプの値は、順序付けされたものKに暗黙的に変換されるKey[K]か、順序付けが暗黙的にKey[K]使用される必要があるため、すべてがうまくいくはずです。もちろん、base2key特性自体に暗黙的に実装する方法はありません。または、暗黙的に渡されたクラスマニフェストを使用している可能性がありますか?これを考慮した参考文献は見つかりませんでした。

Key[T]拡張する型には暗黙の変換が伴うことをどういうわけか静的に主張することは可能T => Key[T]ですか?悲しいことに、コンパニオンオブジェクトは抽象的なメソッドを持つことができません。

これがうまくいくと仮定すると、企業全体が実現可能ですか、それとも、述べられているユースケースには複数の連鎖された暗黙の変換が必要ですか?(私が読んだように、Chainingは起こりません。)

補遺:上記の定義では、を使用してNode(key : K, ...)(下のK <% Key[K])シーケンスを並べ替えることができますが、を使用することはできsortWith(_.key <= _.key)ませんsortBy(_.key)。したがって、明らかに、からKへの変換Key[K]は、私がどこにも宣言したことがない場合でも、暗黙的に発生Orderingしますが、暗黙的に使用できるものはありませんKey[K]。ここで何が起こっているのですか?

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

scala - 型クラスに関する質問

Field次のように型クラスを定義する必要があります。

型クラスはNumericメソッドも提供しzeroますone

Numericインスタンスを使用できるすべてのクラスを、インスタンスを持つクラスが必要な場所で使用できるようにしたいと考えていFieldます。たとえば、次のように動作するはずです。

これを達成する方法を教えてください。次のことを試しましたが、うまくいきませんでした:

0 投票する
5 に答える
4827 参照

c++ - 暗黙的なパラメーターを含むテンプレート、前方宣言、C++

暗黙のパラメーターを持つテンプレート クラスの宣言があります。

List.h

別のヘッダー ファイルでフロー フォワード宣言を使用しようとしました。

分析.h

しかし、G++ には次のエラーが表示されます。

暗黙的なパラメーターなしで前方宣言を使用する場合

コンパイラはこの構造を受け入れません

分析.h

次のエラーが表示されます (つまり、暗黙的な値を受け入れません)。

更新された質問:

テンプレート定義からデフォルト パラメータを削除しました。

List.h

クラス List を使用する最初のファイルには、パラメーター属性の暗黙的な値を持つ前方宣言があります

Analysis1.h

クラス リストを使用する 2 番目のクラスは、暗黙の値を使用して前方定義を使用します。

Analysis2.h

クラス List を使用する 2 番目のクラスは、暗黙の値を使用した前方定義なし

Analysis2.h

0 投票する
7 に答える
8334 参照

c++ - 暗黙のテンプレート パラメータ

次のコードは、Xcode でコンパイル エラーを生成します。

error: missing template arguments before 'MyFoo'

に変更Foo MyFoo(123);するFoo<int> MyFoo(123);と問題は解決しますが、コンパイラは適切なデータ型を把握できないのでしょうか?

これはコンパイラのバグですか、それとも暗黙のテンプレート パラメータを誤解していますか?

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

perl - Perlで「インポート」サブルーチンが大文字になっていないのはなぜですか

気になります。Perlの暗黙的に呼び出されるサブルーチンのほとんどは、すべて大文字で名前を付ける必要があります。TIESCALAR、DESTROYなど。実際にperldoc perltoot

コンストラクターに任意の名前を付けることができる場合は、デストラクタを使用しないのはなぜですか?コンストラクタは明示的に呼び出されますが、デストラクタは呼び出されないためです。破壊は、Perlのガベージコレクション(GC)システムを介して自動的に行われます。これは、高速ですが、やや怠惰な参照ベースのGCシステムです。何を呼ぶべきかを知るために、PerlはデストラクタにDESTROYという名前を付けるように主張しています。現在、デストラクタを呼び出す適切なタイミングに関するPerlの概念は明確に定義されていません。そのため、デストラクタが呼び出されるときに依存するべきではありません。

DESTROYがすべて大文字になっているのはなぜですか?Perlは、関数が何らかの方法でPerlによって自動的に呼び出されることを示すための規則として、純粋に大文字の関数名を使用する場合があります。暗黙的に呼び出されるその他のオブジェクトには、BEGIN、END、AUTOLOADに加えて、perltieで説明されているタイオブジェクトによって使用されるすべてのメソッドが含まれます。

では、なぜimportサブルーチンは小文字のままになっているのでしょうか。誰かがこれについて良い洞察を持っていますか?

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

f# - オーバーロードされたコンストラクターを暗黙のF#型に追加する

暗黙の型構文を使用して次の型を作成しました。

ただし、次のオーバーロードされたコンストラクターをこのタイプ(ここではC#にあります)に追加する必要があります。

私が抱えている問題は、暗黙の型でオーバーロードされたコンストラクターには、最初のコンストラクターのサブセットであるパラメーターリストが必要であるように見えることです。明らかに、追加したいコンストラクターはこの要件を満たしていません。暗黙の型構文を使用してこれを行う方法はありますか?どちらの方法でこれを行う必要がありますか?私はF#を初めて使用するので、変更を加えたタイプ全体を表示できれば幸いです。

前もって感謝します、

ボブ

PS私のクラスをより機能的なスタイルにするための他の提案があれば、それについてもコメントしてください。

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

wcf - DataContract を持つクラスのすべてのメンバーがデータメンバーであると暗黙的に想定する属性はありますか?

すべてのメンバーに [DataMember] を指定する代わりに、それがデータメンバーであると想定できる属性のようなものはありますか?

Web サービスにシリアル化する必要がある多くのメンバーを持つクラスがあります。

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

c - 関数の暗黙の宣言

私はLinuxとgcc4.2.3を使用しています。

以下のコード部分では、lp_parm_talloc_string関数が暗黙的に呼び出され、その後、次のように定義されます。

この部分では、以下のエラーが発生します。

このような場合を許可するようにコンパイラに指示するにはどうすればよいですか?

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

scala - Option の orNull メソッドにこの余分な暗黙の引数があるのはなぜですか?

ここの理由は何だろうか(implicit ev: Null <:< A1)

しません

次のような値型では機能しないように見えることを考えると十分です

しかし

しますか?

Optionソースコード

0 投票する
11 に答える
21708 参照

scala - Scala の型クラスは何に役立ちますか?

このブログ投稿からわかるように 、Scala の「型クラス」は、トレイトと暗黙のアダプターで実装された単なる「パターン」です。

ブログにあるように、traitAとアダプターがあれば、このアダプターを明示的に呼び出さずに type の引数を使用して、B -> Atype の引数を必要とする関数を呼び出すことができます。AB

いいと思いましたが、特に役に立ちませんでした。この機能が何に役立つかを示すユースケース/例を挙げていただけますか?