MPS 2019.1ヘルプ

他の言語

ここでは便利なBaseLanguage拡張をいくつか紹介します。

チェックドット

言語: jetbrains.mps.baseLanguage.checkedDots

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

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

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

  • ドット表現をチェックする インテンション

  • 入る "?"ドットの後、例えばcustomer.?address.?street

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

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

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

言語: jetbrains.mps.baseLanguage.overloadedOperators

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

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

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

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

サンプル

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

CaptureOverloaded

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

CaptureCustomOperator

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

CaptureIF

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

言語: jetbrains.mps.baseLanguage.constructors

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

サンプル

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

rectangle

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

rectangleusage

最終更新日: 2019年4月12日