MPS 2019.1ヘルプ

コレクションの言語

コレクションのサポートを追加するBase Languageの拡張。

導入

コレクション言語は、最も一般的に使用されるいくつかのコンテナーの使用を可能にする一連の抽象化、および照会を構築するための一連の強力なツールを提供します。コレクションが提供する基本型は sequence です。これは、JavaのIterable、または.NETのIEnumerableに似た抽象概念です。コンテナーには、 list (配列ベースとリンクリストの両方)、 set map があります。コレクション言語はまた、LINQ(英語)が行うことと同様の方法で、クロージャを使用して表現力豊かなクエリを構築する手段を提供します。

NULL処理

コレクション言語には、null要素とnullシーケンスに関する一連の緩和された規則があります。

NULLシーケンスはまだシーケンスです

Null は、シーケンス変数に割り当てることができる完全に受け入れられた値です。これは単に空のシーケンスになります。

sequence<Type> nullSeq = null;
例外をスローする代わりにnullが返される

標準コレクションフレームワークは、正常に完了できないメソッドを呼び出した結果として例外をスローする必要がありますが、コレクション言語のシーケンスとそのサブタイプは null 値を返します。例:空のシーケンスに対して first 操作を呼び出すと、例外をスローする代わりに null 値が返されます。

sequence<Type> nullSeq = null; Type nullValue = nullSeq.first;

文をスキップして停止する

skip

selectMany または forEach クロージャー内に適用可能です。 skip ステートメントの効果は、現在の入力要素の処理が停止し、次の要素(利用可能な場合)がすぐに選択されることです。

停止

selectMany クロージャーまたはシーケンスイニシャライザークロージャー内に適用可能です。stopステートメントは、出力シーケンスの構成を即時に終了させ、入力シーケンス内の残りのすべての要素(存在する場合)を無視します。

最終更新日: 2019年7月5日