MPS 2026.1 ヘルプ

タプル

タプルを使用すると、さまざまなタイプの関連データを小さなコレクションのようなデータ構造にグループ化できます。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 日