4. 計算や処理を行わせる: 6) スクリプトの中で使う、演算子・構文・修飾子
← [4. 計算や処理を行わせる: 5) PASSCELL関数の概要]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 7) 高度なスクリプト記述]へ進む →
■このページで説明している内容
a) スクリプトの構成要素
b) 文(制御文)
c) 演算子
d) 修飾子
a) スクリプトの構成要素
PASSCELL Personal のスクリプトは、以下の要素から構成されています。
ⅰ) 文(制御文):
「文」とは、動作制御用の命令のことを指します。
ⅱ) ブロック:
if文での分岐内容を複数の式で記述する際に使う、'{','}'で囲まれた部分を指します。
ⅲ) 式:
なんらかの演算を行うひとまとまりのスクリプト記述を 式 と呼びます。
式 の最後は、";"(セミコロン)で終了する必要があります。
式には、さらに以下の要素から構成されています。
ⅲ-a) 即値:
文字列/数値のこと。スクリプト中ではダブルクオートで囲まれた要素を文字列とする。
ⅲ-b) エレメント:
文字列/数値を含む要素。
ⅲ-c) 修飾子:
エレメントに前置することで、特定のエレメントを指すように
ⅲ-d) 演算子:
前後の式に対して操作を行います。
ⅲ-e) システム関数
特定の計算や値の変換・取得などを行う関数です。
があります。
b) 文(制御文)
PASSCELL Personal で用いることのできる文(制御文)は、if - else
if - elseif - else
の2種類だけです。
書式
if( 式 ) 文/式/ブロック [else 文/式/ブロック]
if( 式 ) 文/式/ブロック [elseif( 式 ) 文/式/ブロック] [else 文/式/ブロック]
機能条件
条件による分岐を行います。式の値が0のとき偽、それ以外の時を真とみなされます。
なお、elseの直後にifを置くことでelse ifとなり、条件を複数指定しそれぞれの条件ごとに
処理を切り替えることができます。
記述例
if ( 月 == "2月") {
if ( うるう年 == "Yes" ) {
日数 = 29;
} else {
日数 = 28;
}
} elseif ( 月 == "4月") {
日数 = 30;
} elseif ( 月 == "6月") {
日数 = 30;
} elseif ( 月 == "9月") {
日数 = 30;
} elseif ( 月 == "11月") {
日数 = 30;
} else {
日数 = 31;
}
c) 演算子
演算子には、以下のような種類があります。1) 算術演算子
+
加算
-
減算
*
乗算
/
除算
2) 比較演算子
==
等号
>
大なり
>=
大なりイコール
<
小なり
<=
小なりイコール
!=
不一致
3) 論理演算子
&&
論理和(AND)
||
論理積(OR)
4) 単項演算子
-
符号反転(マイナス)
!
否定演算
5) 代入演算子
=
右辺の値を左辺へ代入する。
d) 修飾子
修飾子には、以下の3種類があります。修飾子をエレメント名の前につけることによって、特定のエレメントを表現することができます。
1) super.
親ノードと自ノードに同じ名前のエレメントがある場合、親ノードのエレメントを明示的に指定します。
2) node.
直前に実行したsetnode()関数で指定されたノードが持つエレメントを指します。
3) [ノードのフルネーム].
複数の親ノードを持つノードで、どちらの親ノードにも同じエレメント名が存在する場合、指定したノードのエレメントを指します。
4) this.
この修飾子は、親ノードと自ノードに同じ名前のエレメントがある場合、自ノードのエレメントを明示的に指定します。
この修飾子を使うことによって、
・親ノードにあるエレメントと自ノードにあるエレメントを、指定し分けることができます。
・この応用として、計関数 sum() および average() を利用する際、「使う」エレメントだけを集計の対象とすることができます。
修飾子については、次節の「高度なスクリプト記法」で詳しく説明します。
← [4. 計算や処理を行わせる: 5) PASSCELL関数の概要]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 7) 高度なスクリプト記述]へ進む →