問題タブ [dynamic-typing]

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 に答える
278 参照

haskell - Typeable 型の「パターン マッチング」

たとえば、次のデータ構造があるとします。

さて、これを行う簡単な方法はありますか:

Typeable型でパターン マッチングの構文を作成することを考えた人はいますか?

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

haskell - Haskell -- 具象型インスタンスから TypeRep を取得する

この型シグネチャを持つ関数を書きたい:

TypeRep は、 taではなくaの型表現になります。つまり、コンパイラは、任意の呼び出しサイトで [ getTypeRepに] の具体的な型を持つ正しい型表現を自動的に返す必要があります。

いくつかのコンテキストを追加するために、「動的型」データ型を作成したいと思います。これは、最上位の型を記憶するが、そのパラメーターは記憶しないというひねりを加えたものです。たとえば、MyClass aDynamic MyClassに変換したい場合、上記の関数を使用して、型パラメーターaの表現を格納するDynamic MyClassのインスタンスを作成します。

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

c#-4.0 - アプリ ドメインに永続的に持たずに実行時に動的な型を作成する方法はありますか?

動的に生成された型に関する私の現在の理解は次のとおりです。

CodeDom を介して型を生成し、それを AppDomain にロードする場合Assembly.Unload(...)、AppDomain 全体を破棄せずにその型をアンロードする (つまり、存在しない) 方法はありません。

実行時にカスタム型を作成する方法について他に何か考えはありますか?

C# 4.0dynamicキーワードを魔法のように使用できますか? .NET 4ExpandoObjectを利用できる素敵な方法はありますか?

匿名型と動的キーワードを技術的な魔法と組み合わせることができるでしょうか?! 何か役に立つツールが散らばっているように感じます。しかし、私は間違っている可能性があります。

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

scala - Any から Dynamic への暗黙的な変換

以下が機能しないのはなぜですか?(はい、私は2.9.0finalで作業しており、" -Xexperimental " オプションをオンにしています。)

これがどれほど意味があるかについて議論することができます...これが期待どおりに機能する場合、:または?でどのような優先順位が発生し"Say".toIntますStringLike.toInt(new Dynamic {...}).applyDynamic("toInt")?

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

programming-languages - Prolog は型付けされていない言語ですか? Prolog と動的型付け言語の違いは何ですか?

Prolog が文字列、数値、アトム、リスト、および複合構造を明確に区別している場合、どうしてそれを型なしと呼ぶことができるでしょうか。また、Lisp などの動的型付け言語とどのように異なるのでしょうか。

Prolog が矛盾するのは、「動的型付け言語」の定義のどの部分ですか? また、Lisp が矛盾するのは、「型指定されていない言語」の定義のどの部分ですか?

どんな洞察も高く評価されます。

アップデート

動的型付け、静的型付け、強い型付け、弱い型付けの違いは何なのか、私はすでに知っています。私の質問は、Prolog という特殊なケースについてです。動的に型付けされた言語と明確な違いがあるようには見えませんが、Prolog がどのように型付けされていないと見なされるかを理解したいだけです。

Prolog が型指定されていないことを示すリファレンスを 次に示しますhttp://en.wikipedia.org/wiki/Prolog#Types

0 投票する
8 に答える
4177 参照

java - Java:変数がインターフェースを実装していることを宣言する方法は?

Objective-C では、次のことができます。

delegate(タイプ の変数) がプロトコルidに準拠している(またはJava 言語でインターフェースを実装している)と言えます。HTTPRequestDelegateHTTPRequestDelegate

HTTPRequestDelegateそうすれば、プロトコルによって定義されたメッセージを に送信するたびに、コンパイラはそれが応答delegateすることを理解します。delegate

Javaでこれを行うにはどうすればよいですか (つまり、ダック タイピング/ 動的タイピング)。

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

language-agnostic - 強い型付けに対する弱い型付けの利点

そのため、この問題に関するスタック オーバーフローで同様の質問をたくさん読んだことがありますが、この 2 つの違いをよく理解していると思います。私の質問は、いくつかの操作がプログラマーにとって単純に簡単であるという事実を超えて、強い型付けよりも弱い型付けの利点があるかどうかです。強く型付けされた言語によって、型間の一部の操作が不必要に複雑になることには同意しますが、弱く型付けされた言語を強く型付けされた言語で実行できることはすべて、余分な荷物があればできるようです。

個人的には、強力な型付けの安全性を高めて、特定の操作の小さな煩わしさに対処することを好むと思いますが、それ以上に弱い型付けの利点はありますか? 強力な型付けでは決して同じようにできないことはありますか?

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

objective-c - 引数isKindOfClass:[NSNumberクラス]-これをチェックする正しい方法は?

そのため、実行時までargのクラスタイプが不明なもので遊んでいました。このような:

これは明らかに私がやろうとしていることの不自然な例です。重要なのは、これは決して機能しないということです。「arg」のクラスは常にNSCFNumberとして表示され、それを確認する方法がわかりません。

配列内の任意の値が整数であるかどうかを検出する際の混乱を少なくする方法はありますか?


更新: @ chuck、@ omz、@NikitaLeonovにご協力いただきありがとうございます。私が最初にここに投稿したのは、私が抱えていた問題を単純化したものであり、最初に実行せずにここに記述しました。エラーを削除するために更新されたコード(以下を参照)は、実際には正常に実行されます。

私が問題を抱えていた実際のコードで犯した間違いも同様にばかげていました。配列のインデックスにある項目ではなく、配列を「doWhatever」に戻していたため、問題が発生していました。

助けてくれてありがとう、しかし私の質問は間違っていました。みんなの時間を無駄にしてすみません!

必要に応じて実行される修正されたコード:

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

c# - 実行時にオブジェクト タイプを取得する

以下のコードがあります。型がわからないオブジェクトを取得します。その型を確認する条件を 3 つ確認してから、適切なキャストを行う必要があります。

実行時にオブジェクト型を取得し、if 条件をチェックせずにキャストする方法はありますか?

私が持っているオブジェクトはrequirementTemplateであり、その型を取得してキャストするために多くの型でそれをチェックする必要があります。

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

d - 静的型付け言語である D での動的型付けの使用

興味深い問題に遭遇したとき、私は D の動的型付けライブラリを実装していました。

現在、dynamic()オブジェクトの動的バージョンを返す関数の作成に成功しています。

例えば:

私が遭遇した問題は、コンパイル時のリフレクションをwriteln使用して を処理する方法を見つけようとするという事実です。result

それが最初に試みることは何ですか? isInputRange!(typeof(result))

問題は、それがtrueを返すことです! なんで?実行時にそうでないことを証明できない限り、必要なすべてのメンバーが存在すると想定する必要があるためです。これでは遅すぎます。frontそのため、プログラムは、popFront、およびemptyonを呼び出そうとresultし、プログラムをクラッシュさせます。

これを修正する方法が思いつきません。誰にもアイデアはありますか?