Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  優先度 7
優先度 7 の演算子

優先度 7 の以下の演算子について説明します。


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

二項比較演算子です。左右のオペランドの等価関係を比較して結果を bool クラスで返します。

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


目次:


値等価演算子

値非等価演算子

参照等価演算子

参照非等価演算子

値等価演算子

値等価演算子は左右のオペランドが値として等しいときに 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;


値等価演算子のオペランドは値を表すクラスでなければなりません。つまり、int、long、real、string、bool クラスです。

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

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

実際には if 文や while 文の条件式として使われることが多いはずです。

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


if( i == 10 )

...

elseif( i == 11 )

...

endif


オペランドが proxy クラスを返す場合は proxy クラスの実体が自動的に使用されます。proxy クラスの Entity ゲッターを呼び出したのと同じ結果になります。


int i = 10;

real r = 10.5;

proxy pro = new proxy(i);

proxy pro2 = new proxy(r);

bool b = pro2 == pro; // b is false.

値非等価演算子

値非等価演算子は左右のオペランドが値として等しくないときに 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;


値非等価演算子のオペランドは値を表すクラスでなければなりません。つまり、int、long、real、string、bool クラスです。

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

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

実際には if 文や while 文の条件式として使われることが多いはずです。

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


if( i != 10 )

...

elseif( i != 11 )

...

endif


オペランドが proxy クラスを返す場合は proxy クラスの実体が自動的に使用されます。proxy クラスの Entity ゲッターを呼び出したのと同じ結果になります。


int i = 10;

real r = 10.5;

proxy pro = new proxy(i);

proxy pro2 = new proxy(r);

bool b = pro2 != pro; // b is true.

参照等価演算子

参照等価演算子は左右のオペランドが参照として等しいときに 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.