4.3.3. FEEL の変数および関数名
従来の多くの式言語と異なり、FEEL (Friendly Enough Expression Language) は、変数および関数名でスペースと少数の特殊文字をサポートします。FEEL 名は 文字、?、または _ の要素で始める必要があります。ユニコード文字も使用できます。変数名は、言語キーワード (and、true、every など) で開始することはできません。先頭以外には (複数桁の) 数値、空白文字、特殊文字 (+、-、/、*、'、. など) を使用できます。
たとえば、以下の名前はすべて有効な FEEL 名です。
- Age
- Birth Date
- Flight 234 pre-check procedure
FEEL の変数名および関数名には、いくつかの制約が適用されます。
- 曖昧性 (多義性)
-
名前の一部に、スペース、キーワード、およびその他の特殊文字を使用して FEEL に多義性を持たせることができます。この多義性は、式のコンテキストで左から右に名前を一致させて解決されます。パーサーは、変数名を、その範囲に一致する中で一番長い名前に解決します。必要に応じて、
( )を使用して名前の多義性を排除できます。 - 名前で使用されるスペース
DMN 仕様では、FEEL 名におけるスペース使用を制限します。DMN 仕様によると、名前には複数のスペースを使用できますが、連続して使用することはできません。
言語を使いやすく、スペース使用に関するよくある誤りを回避するために、Red Hat Decision Manager では、スペースを連続して使用する制限が取り除かれています。Red Hat Decision Manager では、スペースを連続して使用する変数名がサポートされますが、スペースを連続して使用してもスペースの数は 1 つに正規化されます。たとえば、Red Hat Decision Manager の変数参照では、スペースが 1 つの
First Nameも、スペースが 2 つのFirst Nameも使用できます。また、Red Hat Decision Manager では、Web ページ、タブ、改行でよく見られる分割できない空白文字などの使用を正規化します。Red Hat Decision Manager の FEEL エンジンの観点では、このような文字はすべて、処理される前に 1 つの空白文字に正規化されます。
- キーワードの
in -
キーワードの
inは、この言語の中で、唯一変数名に使用できないキーワードです。仕様では、変数名にキーワードを使用できますが、変数名にinを使用すると、for、every、someの各表現概念と矛盾します。