MPS 2023.3 ヘルプ

他の言語

ここでは、いくつかの便利な BaseLanguage 拡張機能を紹介します

チェックドット

言語: jetbrains.mps.baseLanguage.checkedDots

チェックドット式は、オペランドの null チェックで拡張されたドット式です。

オペランドが NULL の場合、チェックされたドット式全体の値が NULL になります。それ以外の場合は、対応するドット式の値に評価されます。

チェックドット式を作成する方法

  • Makedot 式はインテンションをチェックしました

  • ドットの後に「?」を入力します。例: customer.?address.?street

  • " ? " を使った操作の左変換

チェックされていないドット式を作成するインテンションを使用して、チェックされたドット式を通常のドット式に変換できます。

オーバーロードされた演算子

言語: jetbrains.mps.baseLanguage.overloadedOperators

この言語は二項演算子をオーバーロードする方法を提供します。

オーバーロードされた演算子宣言は、OverloadedOperatorContainer に格納されます。

1 人のオペレータに対して複数のオーバーロードバージョンがある場合は、最も関連性の高いものが選択されます。

オーバーロードされた演算子の使用箇所がその宣言以外のモデルにある場合は、overloadedOperators 言語を使用箇所のモデルの「生成に従事する言語」に追加する必要があります。

サンプル

クラス Complex に対するオーバーロードプラス演算子

CaptureOverloaded.PNG

また、独自のカスタム演算子を定義することもできます。ある文字列に別の文字列が含まれているかどうかを判断する、文字列用のバイナリブール演算子を作成するとします。

CaptureCustomOperator.PNG

単にこの演算子を使用することができます:

CaptureIF.PNG

カスタムコンストラクター

言語: jetbrains.mps.baseLanguage.constructors

カスタムコンストラクターは、複雑なオブジェクトを作成する簡単な方法を提供します。それらは特別なルートノードである CustomConstructorsContainer に保存されます。

サンプル

長方形を作成するためのさらに速い方法が必要だとしましょう。

rectangle.PNG

それでは、長方形を作成しましょう。

rectangleusage.PNG