Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第7章 WebScript言語

7.8 演算子

■演算子の一

演算子を、優先順位の高い順に示します。

演算子

結合順

[ ], { }

左から右

!, +(単項), -(単項)

右から左

*, /, %

左から右

+(二項), -(二項), .

左から右

<, >, <=, >=, lt, gt, le, ge

なし

==, !=, eq, ne

なし

&&, ||

左から右

(,...,)

なし

結合順の解釈例を、以下に示します。

括弧(「(」と「)」)を用いて、演算の順序を指定することができます。

■演算子の意

各演算子についての説明をします。

「n」、「n1」および「n2」などは、数値コンテキストを示し、「s」、「s1」および「s2」などは文字列コンテキストであることを示します。

a[n]

リストaの添字番号nの要素を返します。

詳細は、“データ”を参照してください。

a{s}

リストaのキーの値がsである要素を返します。

詳細は、“データ”を参照してください。

!n

nが0のときには1を、それ以外のときには0を返します。

+n

nを返します。

-n

nの符号を変えたものを返します。

n1 * n2

n1とn2との積を返します。

n1 / n2

n1をn2で割った商を返します。

n1とn2が共に整数の場合でも、結果は整数とは限りません。

整数部分が必要な場合は、関数intを使用してください。

15 / 3 → 5 
16 / 3 → 5.333333333333333

n1 % n2

n1をn2で割ったときの余りを返します。

n1やn2が整数でない場合は、0の方向に切り捨てた値が使用されます。また、n2の符号は無視されます。

n1が負の値の場合は、結果は-n1に対する値の符号を反転したものになります。

12 % 5 → 2 
12 % (-5) → 2 
(-12) % 5 → -2 
(-12) % (-5) → -2 
12.466 % 5.99 → 2

n1 + n2

n1とn2との和を返します。

n1 - n2

n1とn2との差を返します。

s1 . s2

s1とs2とを連結した文字列を返します。

"abc"."def" → "abcdef" 
"0"."1" → "01"

n1 < n2

n1の方がn2よりも小さければ1を、そうでなければ0を返します。

n1 > n2

n1の方がn2よりも大きければ1を、そうでなければ0を返します。

n1 <= n2

n1の方がn2よりも小さいまたはn1とn2とが等しければ1を、そうでなければ0を返します。

n1 >= n2

n1の方がn2よりも大きいまたはn1とn2とが等しければ1を、そうでなければ0を返します。

s1 lt s2

s1の方がs2よりも辞書式順序で小さければ1を、そうでなければ0を返します。

s1 gt s2

s1の方がs2よりも辞書式順序で大きければ1を、そうでなければ0を返します。

s1 le s2

s1の方がs2よりも辞書式順序で小さいまたはs1とs2とが等しければ1を、そうでなければ0を返します。

s1 ge s2

s1の方がs2よりも辞書式順序で大きいまたはs1とs2とが等しければ1を、そうでなければ0を返します。

n1 == n2

n1とn2が等しければ1を、そうでなければ0を返します。

n1 != n2

n1とn2が等しければ0を、そうでなければ1を返します。

s1 eq s2

s1とs2が辞書列順序で等しければ1を、そうでなければ0を返します。

s1 ne s2

s1とs2が辞書列順序で等しければ0を、そうでなければ1を返します。

n1 && n2

n1とn2が共に非0ならば1を、そうでなければ0を返します。

n1を評価して0だったならば、n2は評価しないで0を返します。

n1 || n2

n1とn2が共に0ならば0を、そうでなければ1を返します。

n1を評価して0以外ならば、n2は評価しないで1を返します。

(a1, a2, ..., an)

a1,a2,...,anからなるリストを返します。キーはすべて未定義です。

&& および || を除き、評価順序については保証されませんので注意してください。
たとえば、listの値が(“a”,“b”)の場合、
pop(list).pop(list)
の値が、“ab”か“ba”かは不明です。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007