タプル
タプルを使用すると、さまざまなタイプの関連データを小さなコレクションのようなデータ構造にグループ化できます。MPS では、タプル は jetbrains.mps.baseLanguage.tuples 言語内で使用できます。
索引タプル
インデックス付きタプルは、任意の型の複数の要素を格納でき、インデックスによって要素にアクセスできる構造体です。MPS の実装では、タプルインスタンスは Java オブジェクトで表現されます。MPS における Java オブジェクトに対する「=」および「==」演算の通常の意味は変わりません。
[int, string] pair = [1, "a"];
int first = pair[0];
string second = pair[1];
名前付きタプル
名前付きタプルはインデックス付きタプルと似ていますが、要素へのアクセスはインデックスではなく名前で行います。モデルで名前付きタプルを使用するには、まずモデル内で明示的に定義する必要があります(new ->jetbrains.mps.baseLanguage.tuples/tuple)。
(first, second)<string, int> pair = (first = "abcd", second = 1);
ペアの宣言:
public tuple Pair<S, T> {
S first;
T second;
}
名前付きタプル宣言
概念 NamedTupleDeclaration のルートノードには、単一の宣言が含まれています。
[public|protected|private] tuple tupleName<TypeVar, ...> {
elementType elementName;
}
宣言部 | 許可された内容 |
|---|---|
tupleName | 任意の有効な識別子 |
elementType | プリミティブ型または Java 分類子に帰着する任意の型 |
elementName | 任意の有効な識別子 |
2026 年 5 月 06 日