問題タブ [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.
haskell - Typeable 型の「パターン マッチング」
たとえば、次のデータ構造があるとします。
さて、これを行う簡単な方法はありますか:
Typeable型でパターン マッチングの構文を作成することを考えた人はいますか?
haskell - Haskell -- 具象型インスタンスから TypeRep を取得する
この型シグネチャを持つ関数を書きたい:
TypeRep は、 taではなくaの型表現になります。つまり、コンパイラは、任意の呼び出しサイトで [ getTypeRepに] の具体的な型を持つ正しい型表現を自動的に返す必要があります。
いくつかのコンテキストを追加するために、「動的型」データ型を作成したいと思います。これは、最上位の型を記憶するが、そのパラメーターは記憶しないというひねりを加えたものです。たとえば、MyClass aをDynamic MyClassに変換したい場合、上記の関数を使用して、型パラメーターaの表現を格納するDynamic MyClassのインスタンスを作成します。
c#-4.0 - アプリ ドメインに永続的に持たずに実行時に動的な型を作成する方法はありますか?
動的に生成された型に関する私の現在の理解は次のとおりです。
CodeDom を介して型を生成し、それを AppDomain にロードする場合Assembly.Unload(...)
、AppDomain 全体を破棄せずにその型をアンロードする (つまり、存在しない) 方法はありません。
実行時にカスタム型を作成する方法について他に何か考えはありますか?
C# 4.0dynamic
キーワードを魔法のように使用できますか? .NET 4ExpandoObject
を利用できる素敵な方法はありますか?
匿名型と動的キーワードを技術的な魔法と組み合わせることができるでしょうか?! 何か役に立つツールが散らばっているように感じます。しかし、私は間違っている可能性があります。
scala - Any から Dynamic への暗黙的な変換
以下が機能しないのはなぜですか?(はい、私は2.9.0finalで作業しており、" -Xexperimental " オプションをオンにしています。)
これがどれほど意味があるかについて議論することができます...これが期待どおりに機能する場合、:または?でどのような優先順位が発生し"Say".toInt
ますStringLike.toInt
か(new Dynamic {...}).applyDynamic("toInt")
?
programming-languages - Prolog は型付けされていない言語ですか? Prolog と動的型付け言語の違いは何ですか?
Prolog が文字列、数値、アトム、リスト、および複合構造を明確に区別している場合、どうしてそれを型なしと呼ぶことができるでしょうか。また、Lisp などの動的型付け言語とどのように異なるのでしょうか。
Prolog が矛盾するのは、「動的型付け言語」の定義のどの部分ですか? また、Lisp が矛盾するのは、「型指定されていない言語」の定義のどの部分ですか?
どんな洞察も高く評価されます。
アップデート
動的型付け、静的型付け、強い型付け、弱い型付けの違いは何なのか、私はすでに知っています。私の質問は、Prolog という特殊なケースについてです。動的に型付けされた言語と明確な違いがあるようには見えませんが、Prolog がどのように型付けされていないと見なされるかを理解したいだけです。
Prolog が型指定されていないことを示すリファレンスを 次に示しますhttp://en.wikipedia.org/wiki/Prolog#Types
java - Java:変数がインターフェースを実装していることを宣言する方法は?
Objective-C では、次のことができます。
delegate
(タイプ の変数) がプロトコルid
に準拠している(またはJava 言語でインターフェースを実装している)と言えます。HTTPRequestDelegate
HTTPRequestDelegate
HTTPRequestDelegate
そうすれば、プロトコルによって定義されたメッセージを に送信するたびに、コンパイラはそれが応答delegate
することを理解します。delegate
Javaでこれを行うにはどうすればよいですか (つまり、ダック タイピング/ 動的タイピング)。
language-agnostic - 強い型付けに対する弱い型付けの利点
そのため、この問題に関するスタック オーバーフローで同様の質問をたくさん読んだことがありますが、この 2 つの違いをよく理解していると思います。私の質問は、いくつかの操作がプログラマーにとって単純に簡単であるという事実を超えて、強い型付けよりも弱い型付けの利点があるかどうかです。強く型付けされた言語によって、型間の一部の操作が不必要に複雑になることには同意しますが、弱く型付けされた言語を強く型付けされた言語で実行できることはすべて、余分な荷物があればできるようです。
個人的には、強力な型付けの安全性を高めて、特定の操作の小さな煩わしさに対処することを好むと思いますが、それ以上に弱い型付けの利点はありますか? 強力な型付けでは決して同じようにできないことはありますか?
objective-c - 引数isKindOfClass:[NSNumberクラス]-これをチェックする正しい方法は?
そのため、実行時までargのクラスタイプが不明なもので遊んでいました。このような:
これは明らかに私がやろうとしていることの不自然な例です。重要なのは、これは決して機能しないということです。「arg」のクラスは常にNSCFNumberとして表示され、それを確認する方法がわかりません。
配列内の任意の値が整数であるかどうかを検出する際の混乱を少なくする方法はありますか?
更新: @ chuck、@ omz、@NikitaLeonovにご協力いただきありがとうございます。私が最初にここに投稿したのは、私が抱えていた問題を単純化したものであり、最初に実行せずにここに記述しました。エラーを削除するために更新されたコード(以下を参照)は、実際には正常に実行されます。
私が問題を抱えていた実際のコードで犯した間違いも同様にばかげていました。配列のインデックスにある項目ではなく、配列を「doWhatever」に戻していたため、問題が発生していました。
助けてくれてありがとう、しかし私の質問は間違っていました。みんなの時間を無駄にしてすみません!
必要に応じて実行される修正されたコード:
c# - 実行時にオブジェクト タイプを取得する
以下のコードがあります。型がわからないオブジェクトを取得します。その型を確認する条件を 3 つ確認してから、適切なキャストを行う必要があります。
実行時にオブジェクト型を取得し、if 条件をチェックせずにキャストする方法はありますか?
私が持っているオブジェクトはrequirementTemplate
であり、その型を取得してキャストするために多くの型でそれをチェックする必要があります。
d - 静的型付け言語である D での動的型付けの使用
興味深い問題に遭遇したとき、私は D の動的型付けライブラリを実装していました。
現在、dynamic()
オブジェクトの動的バージョンを返す関数の作成に成功しています。
例えば:
私が遭遇した問題は、コンパイル時のリフレクションをwriteln
使用して を処理する方法を見つけようとするという事実です。result
それが最初に試みることは何ですか? isInputRange!(typeof(result))
問題は、それがtrueを返すことです! なんで?実行時にそうでないことを証明できない限り、必要なすべてのメンバーが存在すると想定する必要があるためです。これでは遅すぎます。front
そのため、プログラムは、popFront
、およびempty
onを呼び出そうとresult
し、プログラムをクラッシュさせます。
これを修正する方法が思いつきません。誰にもアイデアはありますか?