リストにおける演算には 2 種類あります。
演算の対象がリストとリスト以外の値の場合は、リスト以外の値がリストの各要素とペアになります。
次の表に、並列演算子と順列演算子を示します。
並列演算子 |
順列演算子 |
意味 |
---|---|---|
* |
** |
乗算 |
/ |
*/ |
除算 |
+ |
*+ |
加算 |
- |
*- |
減算 |
> |
*> |
より大きい |
< |
*< |
より小さい |
>= |
*>= |
以上 |
<= |
*<= |
以下 |
= |
*= |
等しい |
!= |
*!= |
等しくない |
次の表に、並列演算子と順列演算子の違いを示します。
演算 |
ステートメント |
結果 |
---|---|---|
並列演算による連結 |
"A":"B":"C"+"1":"2":"3" "A":"B":"C"+"1":"2" "A":"B":"C"+"1" |
"A1":"B2":"C3" "A1":"B2":"C2" "A1":"B1":C1" |
順列演算による連結 |
"A":"B":"C"*+"1":"2":"3" "A":"B":"C"*+"1":"2" |
"A1":"A2":"A3":"B1":"B2":"B3":"C1":"C2":"C3" "A1":"A2":"B1":"B2":"C1":"C2" |
並列演算による加算 |
1:2:3+10:20:30 1:2:3+10:20 1:2:3+10 |
11:22:33 11:22:23 11:12:13 |
順列演算による加算 |
1:2:3*+10:20:30 1:2:3*+10:20 |
11:21:31:12:22:32:13:23:33 11:21:12:22:13:23 |
並列演算による文字列の等価検査 |
"A":"B":"C"="B":"C":"A" "A":"B":"C"="B":"C" "B":"B":"C"="B":"C" |
0 False 1 True 1 |
順列演算による文字列の等価検査 |
"A":"B":"C"*="B":"C":"A" "A":"B":"C"*="B":"C" "B":"B":"C"*="D":"E" |
1 1 0 |
並列演算による数値の等価検査 |
1:2:3=2:3:1 1:2:3=2:3 2:3:3=2:3 2:3:3=3:1 |
0 1 1 0 |
順列演算による数値の等価検査 |
1:2:3*=2:3:1 1:2:3*=2:3 1:2:3*=4:5 |
1 1 0 |
並列演算による日付の等価検査 |
[1-1-90]:[2-2-90]:[3-3-90]= [3-3-90]:[2-2-90]:[1-1-90] [1-1-90]:[2-2-90]:[3-3-90]= [2-2-90]:[3-3-90] [2-2-90]:[3-3-90]:[3-3-90]= [2-2-90]:[3-3-90] |
1 1 1 |
順列演算による日付の等価検査 |
[1-1-90]:[2-2-90]:[3-3-90]*= [3-3-90]:[2-2-90]:[1-1-90] [1-1-90]:[2-2-90]:[3-3-90]*= [2-2-90]:[3-3-90] [1-1-90]:[2-2-90]:[3-3-90]*= [4-4-90]:[5-5-90] |
1 1 0 |
上記のルールにより、意外な結果となる場合があります。例えば、A=B と A!=B の両方の式が同時に true となる可能性があります。 それは、例えば A の値が 1:2 で、B の値が 1:3 である場合です。この場合、1 と 1 がペアとして比較され、2 と 3 がペアとして比較されます。最初のペアは等しいため、A=B は true になります。2 番目のペアは等しくないため、A!=B も true になります。リストに対して処理を行う場合、A=B の逆は !(A=B) です。