代入文

左辺値へインスタンスを代入する代入文について説明します。


目次:


書式

左辺値

代入記号 =

セミコロン

書式

代入文は以下の形式です。


左辺値 = 式 ;


左辺値は代入記号の左辺に置くことができるものです。Riceでは変数、フィールドセッタで終わる式、インデクサー演算子で終わる式です。

代入記号の右辺の式が返すインスタンスで左辺値を変更します。


左辺値が変数、フィールドで終わる場合は、左辺値が参照するアドレスを変更します。

左辺値がセッタで終わる式の場合は、セッタ呼び出しに変換されます。

左辺値がインデクサー演算子で終わる式の場合は、該当するlistクラスのアイテムを変更します。

左辺値

左辺値は代入記号の左辺に置くことができるものです。Riceでは、変数、フィールド、セッタで終わる式、インデクサー演算子で終わる式です。

代入記号 =

左辺値を変更するための記号です。

式は左辺値を変更するためのインスタンスを生成します。生成されるインスタンスのクラスは左辺値のクラスと同じでなければなりません。

例外として、範囲の大きな数値クラスへ範囲の小さな数値クラスを代入する場合は、両者のクラスが異なっていても代入できます。


real rr;

rr = 10L; // realへlongを代入。

rr = 10; // realへint を代入。

long ll;

ll = 10; // longへint を代入。


この場合、右辺が返すインスタンスを基に左辺値のクラスのインスタンスが新たに生成されて、それが代入されます。

セミコロン

代入文の終了はセミコロンで表します。

1:

class example

2:

int var1;

3:

closed setter VarSetter(int val)

4:

var1 = val; // ♦1

5:

es

6:

open method void someMethod(int arg)

7:

this.VarSetter = arg; // ♦2

8:

list someList = new list("{1, 2, 3}");

9:

someList[0] = 4; // ♦3

10:

em

11:

ec

♦1 : 左辺値はフィールド。

♦2 : 左辺値はセッタで終わる式。

♦3 : 左辺値はインデクサー演算子で終わる式。

Copyright © Rice All rights reserved.