問題タブ [strong-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.
json - Scala で JSON のような非構造化データの型を指定するにはどうすればよいですか?
主に言語学習の演習として、非常に単純なテキスト テンプレート ライブラリを scala に移植することを検討しています。ライブラリは現在、Python と Javascript の両方で実装されており、その基本的な操作は多かれ少なかれ次のようになります (Python で):
Scala でこれを行うのはそれほど難しいことではありませんが、data
パラメーターの静的な型をどのように表現するのが最適かはわかりません。
基本的に、このパラメーターには、JSON で見られる種類のものを含めることができる必要があります: いくつかのプリミティブ (文字列、整数、ブール値、null)、または 0 個以上のアイテムのリスト、または 0 個以上のアイテムのマップ。(この質問の目的のために、マップは文字列キーを持つように制限することができます。これは、とにかく Scala が好きな方法のようです。)
私の最初の考えは、Map[string, Any]
a をトップレベルのオブジェクトとして使用することだけでしたが、それは私には完全に正しいとは思えません。実際、そこにあらゆる種類のクラスの任意のオブジェクトを追加したくありません。上記で概説した要素のみが必要です。同時に、Java で実際に取得できる最も近いものは だと思いますMap<String, ?>
。また、Scala の作成者の 1 人が Java のジェネリックを設計したことも知っています。
私が特に興味を持っていることの 1 つは、同様の型システムを持つ他の関数型言語がこの種の問題をどのように処理するかということです。ここで本当にやりたいことは、パターン マッチングが可能な一連のケース クラスを考え出すことだと思いますが、それがどのようになるかはまったく想像できません。
私はScalaでのプログラミングを持っていますが、正直なところ、私の目は共分散/反分散のものに少し目がくらみ始めました。誰かがこれをもう少し明確かつ簡潔に説明してくれることを願っています.
vb.net - 動的/厳密に型指定されたエンティティをフィルタリングするエンティティへの Linq
Winforms Grid をエンティティにバインドしています。(ここでは説明しないので、クエリの結果ではなく、エンティティにバインドする必要があります) コードは次のとおりです。
動作しますが、明らかに強く型付けされていません。厳密に型指定された表記を使用してエンティティの Where 句を定義する方法はありますか?
objective-c - Cocoa/Objective-C にジェネリック リストのようなものはありますか?
私が C# で本当に気に入っているのは、ジェネリック リストです。1 種類のオブジェクトのみを含むリスト。Cocoa/Objective-C に一般的なリストのようなものはありますか? 私が知っている限りNSArray
、誰がオブジェクトへのポインタを取るかだけです。
asp.net - 強く型付けされたデータテーブルを照会する方法
ニュースポータルがあります。
このポータルには、「ニュース」テーブルと次の列 (NewsID、CategoryID、NewsTitle、NewsText、DateAdded、ImagePath、TotalRead、NewsType、isActive) を持つデータベースがあります。
私はデータセット ファイル (.xsd) を使用しています。このファイルでは、過去 3 日間のニュースを、私がコーディングした HHNews という名前のカスタム クラスに返すクエリがあります。
HHNews クラスには、上記のクエリの結果を含む厳密に型指定されたデータ テーブルを返す関数があります。
ホームページには、ニュース用のさまざまなセクションがあります。これらは次のとおりです。- 見出し (5 項目) - 小見出し (4 項目) - 各ニュース カテゴリの最新の 5 つのニュース項目...(カテゴリは次のようなものです。スポーツ、ローカル ニュース、経済、
ホームページでは、クラスから返されたデータ テーブルを取得します。今、このデータテーブルにクエリを実行し、上記のセクションを構築したいと思います..例
私のデータテーブルが "dt" と呼ばれる場合、"select TOP(5) NewsID, NewsTitle, NewsText from dt where NewsType = 0" など、この dt を SQL のようにクエリする方法はありますか? -- 見出しを表す 0 ?
objective-c - Objective-C に厳密に型指定されたコレクションはありますか?
Mac/iPhone プログラミングと Objective-C は初めてです。C# と Java には、「ジェネリック」と呼ばれるコレクション クラスがあり、そのメンバーは宣言された型のみを持つことができます。たとえば、C# では
Dictionary<int, MyCustomObject>
整数のキーと MyCustomObject 型の値のみを含めることができます。同様のメカニズムが Objective-C に存在しますか?
asp.net-mvc - ASP.NET MVC - 参照されたクラス ライブラリ内のクラスから厳密に型指定されたビューを作成する方法は?
Visual Studio 2008 を使用して、厳密に型指定されたビューを作成しようとしています。コントローラー アクションを右クリックして、[ビューの追加] を選択できます。次のダイアログ ウィンドウに、[厳密に型指定されたビューを作成する] オプションがあります。このオプションをオンにすると、現在のプロジェクトにあるクラスのリストを選択できます。
ただし、参照したクラスライブラリにある必要なクラスを選択できません。
- クラスライブラリは、GAC に読み込まれる厳密に型指定されたアセンブリです。
- 明らかに、ライブラリはプロジェクトで参照されています。
- <add namespace="namespace" /> を web.config に追加しました
- 何度も再構築し、VSを再起動しました
- Classlibrary には問題はありません...
助言がありますか?
refactoring - 静的/強いタイピングとリファクタリング
静的/強く型付けされたプログラミング言語で最も貴重なことは、リファクタリングに役立つことだと思います。APIを変更すると、コンパイラはその変更が何を壊したかを教えてくれます。
ランタイム/弱い型の言語でコードを書くことは想像できますが、コンパイラの助けなしにリファクタリングを想像することはできません。また、リファクタリングなしで数万行のコードを書くことも想像できません。
これは本当ですか?
asp.net-mvc - 厳密に型指定されたビューの違い (MVC ソースとアセンブリ)
強く型付けされた部分ビューを作成しようとしています
コントローラーで:
これは、参照されているバイナリ アセンブリを使用してプロジェクトで実行する場合にうまく機能しましたSystem.Web.Mvc
。
しかし、バイナリ アセンブリを削除してデバッグ用の MVC ソースを含むプロジェクトを追加すると、厳密に型指定されたビューの認識が停止します。
ViewPage
代わりにのように機能していますViewPage<TModel>
その結果、エラーが発生します:
コンパイラ エラー メッセージ: CS1579:「オブジェクト」に「GetEnumerator」のパブリック定義が含まれていないため、foreach ステートメントは「オブジェクト」型の変数を操作できません。
これがコンパイルされた MVC では機能するのに、ソースでは機能しないのはなぜですか? また、ソースを正しく実行するにはどうすればよいですか?
linq-to-sql - LINQ To SQL SubSelect Like クエリ
2 つのテーブルがあるとします。
Order は、OrderStatusHistory と呼ばれる複数の OrderStatus を持つことができます。次のように説明されている StronglyTypeObject Orderがあります。
Order オブジェクト内のこの StatusId は、OrderStatus テーブルの現在の (最後の) StatusId であることを意味します。
LINQ を使用して IQueryable オブジェクトのリストを構築しようとしました。これが私の、機能していない;)、Linqコードです
Max(p=>p.XXX) も試してみましたが、うまくいきませんでした。誰もこの問題についてヒントを持っていますか?
どんな助けでも大歓迎です...
ゴードン