基本式 は、すべてのプログラムの基礎的なビルディング・ブロック であり、以下のものが組み込まれています。
定数リテラル は、基本型である文字列、整数、実数、ブールの値、および regexp 型の値を 表します。
これらの式は、単に、各式に対応する値を求めます。
文字列は、引用符 (") で囲みます。. 例
"abc"
"a¥"bc¥tdef¥n"
2
100
-2.0
3.4
この定数は、真または偽のいずれかに なります。
タプルは、順序付けられた値のコレクションを表します。 これらの式は、以下の例のように、括弧内に複数のコンポーネント をコンマで区切ったリストの形式で 示されます。
(1, true)
("abc", true, -2.0)
プリミティブ値での算術演算は基本式です。 算術演算子 +、-、*、および / は、整数と実数について標準的な意味をもちます。 算術演算子に対する引数は、integer または real のいずれかと同じ型です。
プリミティブ値での関係演算は基本式です。 関係演算子 =、<>、<、<=, >、 および >= は、整数と実数について標準的な意味を持ちます (<> は非等価演算子を表します)。 関係演算子に対する引数は、型が一致しなければなりません。
プリミティブ値での論理演算はブール値に関する基本式です。 論理演算子を以下に示します。
not
and
οr
implies (p implies q ≡ not p or q)
文字列の連結、比較、およびパターン・マッチングは、2 項演算子の形式で 表される基本式です。
演算子 + は、以下の例で示すように 2 つの文字列を連結します。
"abc" + "def" ⇒ abcdef
関係演算子 (=、<>、<、<=、>、>=) は、 以下の例で示すように、文字列の辞書順比較を実装します。
"abc" = "abd" ⇒ false
"abc" <> "abd" ⇒ true
"abc" < "abd" ⇒ true
演算子 ~= および ~<> は、 左側の文字列と右側の正規表現が一致か不一致かを比較します。 以下の例で示すように、~= および ~<> の右側の引数は、 正規表現リテラルではなく文字列リテラルにする必要があります。
"abc" ~= "a*" ⇒ true
"abc" ~<> "a*" ⇒ false
"10111010110101" ~= "[01]+" ⇒ true
"abcdefghijkl" ~= "[^01]+" ⇒ true