コンテンツにスキップ

式の概要

式(Expression)を使うと、動的な動作を構築し、Designer の各部分を連携させられます。式はフレームごとに評価され、数値またはテキストのいずれかの「値」を生成します。値は式のコンテキストで使われます。たとえばレイヤーでは、値は式が付加されているプロパティに反映されます。

式は、ユーザーがカスタムの動作をソフトウェアに組み込める小さなプログラミング言語です。

レイヤーオートメーション など、いくつかの領域で使われます。

式を入力すると、式が正しく理解されたときにプロパティフィールドが緑になります。間違いがある場合はプロパティフィールドが赤になり、フィールドにマウスを合わせると何が問題だったかを伝えるテキストメッセージが開きます。

式は一時的に無効にすることもでき、その場合フィールドは落ち着いた緑になり、数式は保持されているが現在は評価されていないことを示します。式の有効化と無効化 をご覧ください。

コードを書かずに式を作成する

Section titled “コードを書かずに式を作成する”

マウスドラッグで接続を作成する ことで、Designer の他の部分を参照する基本的な式を作成できます。これは式を始める最も簡単な方法です。

式は、多くのプログラミング言語に見られる一般的な構文を模倣しています。式は大きく次のもので構成されます:

  • 定数(123 などの数値や、"hello world" などのテキスト)。
  • 変数(他の場所で定義された値を参照する my_value などのシンボル)。
  • 関数(他の入力から値を生成する動作。たとえば max(1, 2) は大きい方の値 2 を返します)。
  • 演算子(値に対して算術を行う数学演算子。たとえば +-)。

関連する場所に文書化された、定義済みの関数と変数が多数あります。

expression variables device または expression variables layer を使って、独自の関数や変数を定義することもできます。

式は大文字小文字を区別するため、hello という変数や関数は、HELLOHello などとは別物です。

プレフィックスは、式全体の結果を変えるために使います。単語の後に 2 つのコロン文字、さらに式が続く形式を取ります:

scale::<expression>

下記のテキスト整形のほか、レイヤー式もプレフィックスを使います

テキストタイプの式では、数学的な評価をせずに、人間が読める平易な言語の中に値を埋め込みたい場合があります。式の構文を、変数を評価するものから「文字列補間」方式に変えられます。これはプレースホルダーを含むテキストです。評価時、プレースホルダーは式として評価され、テキスト内のその場で整形されます。

たとえば、次の式は大部分がテキストですが、その中に動的な式が埋め込まれています。焦点が評価から表示に変わります。

format::This is my information: The system has been running for {int(uptime / 60)} minutes and {int(uptime % 60)} seconds

これは次のようになります:

This is my information: The system has been running for 2 minutes and 15 seconds

テキスト整形については こちら に文書化されています。