他の言語
Here we introduce some handy BaseLanguage extensions
チェックドット
Language: jetbrains.mps.baseLanguage.checkedDots
A Checked Dot Expression is an dot expression extended with null checks on the operand.
オペランドが NULL の場合、チェックされたドット式全体の値が NULL になります。それ以外の場合は、対応するドット式の値に評価されます。
チェックドット式を作成する方法
The Make dot expression checked intention
Enter "?" after dot, e.g. customer.?address.?street
" ? " を使った操作の左変換
You can transform checked dot expressions to the usual dot expressions using the Make dot expression not checked intention
オーバーロードされた演算子
Language: jetbrains.mps.baseLanguage.overloadedOperators
この言語は二項演算子をオーバーロードする方法を提供します。
Overloaded operator declarations are stored in an OverloadedOperatorContainer.
1 人のオペレータに対して複数のオーバーロードバージョンがある場合は、最も関連性の高いものが選択されます。
オーバーロードされた演算子の使用箇所がその宣言以外のモデルにある場合は、overloadedOperators 言語を使用箇所のモデルの「生成に従事する言語」に追加する必要があります。
例
クラス Complex に対するオーバーロードプラス演算子
また、独自のカスタム演算子を定義することもできます。ある文字列に別の文字列が含まれているかどうかを判断する、文字列用のバイナリブール演算子を作成するとします。undefined
単にこの演算子を使用することができます:
カスタムコンストラクター
Language: jetbrains.mps.baseLanguage.constructors
Custom constructors provide a simple way to create complex objects. They are stored in a special root node - CustomConstructorsContainer.
例
長方形を作成するためのさらに速い方法が必要だとしましょう。
それでは、長方形を作成しましょう。
関連ページ:

ビルダー
ビルダーを使用すると、ユーザーはより便利な方法でオブジェクトとオブジェクト階層を構成できます。階層内の各オブジェクトを手動でインスタンス化してそのプロパティを 1 つずつ設定する代わりに、専用のビルダーを使用して、より簡潔で直感的な方法で同じデータ構造を作成できます。例として、家を建てているとしましょう。House h = new House(); h.houseType = HouseType.detached; Address address = new Address(); address...

コンソール
コンソールは、開発者がアクティブなモデルに対して MPS 環境で直接 DSL コードを簡単に実行できるようにするツールです。これにより、モデルをすばやくクエリして変更できます。モデルに対してアクションをトリガーしたり、プロジェクトに関する統計を調べたりすることができます。例:(廃止予定の)概念のすべての(またはいくつかの)インスタンスを素早く取得し、新しい概念に移行することができます。#instances(TryStatement).where({~it => it.catchClause...