Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Tutorial  >  group6
第六群の演算子

この章の目的。

等価比較演算子について学びます。

第六群の演算子。

第六群の演算子は、以下のとおりです。


==x == y値等価演算子
!=x != y値非等価演算子
$$x $$ y参照等価演算子
!$x !$ y参照非等価演算子

これらの演算子は、等価比較演算子と呼ばれます。等価比較演算子は、オペランドの等価関係を比較し、結果を真偽値で返します。

等価であるかどうかの基準は、値と参照の二つがあります。

値等価演算子

値等価演算子は、左オペランドと右オペランドが値として等しいときにtrueを返します。そうでなければ、falseを返します。

例えば、

bool result0 = 10 == 10; //The result is true;

bool result1 = 10 == 11; //The result is false;

bool result2 = "string" == "string"; //The result is true;

bool result3 = "string" == "strin"; //The result is false;


Riceでは、値を表すクラスとしてint、long、real、string、boolが定義されています。したがって、値等価演算子のオペランドは、この五種類のクラスでなければなりません。それ以外のクラスに値等価演算子を適用すると、例外がスローされます。

また、値等価演算子の左右のオペランドのクラスは同じでなければなりません。左右のオペランドのクラスが異なる場合は、例外がスローされます。(Ver 1.0.1.2 で変更されました)

値等価演算子のオペランドがstring、bool の場合は、左右のオペランドのクラスは同じでなければなりません。左右のオペランドのクラスが異なる場合は、例外がスローされます。

値等価演算子のオペランドがint、long、real の場合は、左右のオペランドにこれらを混在させることができます。

上記の例では、値等価演算子が代入文の右辺で使われていますが、実際には、if文やwhile文の条件式として使われることが多いはずです。

例えば、intクラスの変数 i が定義されているとすると、以下のようになります。

if( i == 10 )

...

elseif( i == 11 )

...

endif

値非等価演算子

値非等価演算子は、左オペランドと右オペランドが値として等しくないときにtrueを返します。そうでなければ、falseを返します。

例えば、

bool result0 = 10 != 10; //The result is false;

bool result1 = 10 != 11; //The result is true;

bool result2 = "string" != "string"; //The result is false;

bool result3 = "string" != "strin"; //The result is true;


Riceでは、値を表すクラスとしてint、long、real、string、boolが定義されています。したがって、値非等価演算子のオペランドは、この五種類のクラスでなければなりません。それ以外のクラスに値非等価演算子を適用すると、例外がスローされます。

また、値非等価演算子の左右のオペランドのクラスは同じでなければなりません。左右のオペランドのクラスが異なる場合は、例外がスローされます。(Ver 1.0.1.2 で変更されました)

値等価演算子のオペランドがstring、bool の場合は、左右のオペランドのクラスは同じでなければなりません。左右のオペランドのクラスが異なる場合は、例外がスローされます。

値等価演算子のオペランドがint、long、real の場合は、左右のオペランドにこれらを混在させることができます。

上記の例では、値非等価演算子が代入文の右辺で使われていますが、実際には、if文やwhile文の条件式として使われることが多いはずです。

例えば、intクラスの変数 i が定義されているとすると、以下のようになります。

if( i != 10 )

...

elseif( i != 11 )

...

endif

参照等価演算子

参照等価演算子は、左オペランドと右オペランドが参照として等しいときにtrueを返します。そうでなければ、falseを返します。

例えば、

int i = 10;

int j = i;

bool result0 = i $$ j; //The result is true;

bool result1 = i $$ 10; //The result is false;


参照等価演算子のオペランドに制限はありません。

上記の例では、参照等価演算子が代入文の右辺で使われていますが、実際には、if文やwhile文の条件式として使われることが多いはずです。

例えば、任意のクラスの変数 i と j が定義されているとすると、以下のようになります。

if( i == j )

...

endif

参照非等価演算子

参照非等価演算子は、左オペランドと右オペランドが参照として等しくないときにtrueを返します。そうでなければ、falseを返します。

例えば、

int i = 10;

int j = i;

bool result0 = i !$ j; //The result is false;

bool result1 = i !$ 10; //The result is true;


参照非等価演算子のオペランドに制限はありません。

上記の例では、参照非等価演算子が代入文の右辺で使われていますが、実際には、if文やwhile文の条件式として使われることが多いはずです。

例えば、任意のクラスの変数 i と j が定義されているとすると、以下のようになります。

if( i !$ j )

...

endif

Copyright © Rice All rights reserved.