6.20. kink/REF

6.20.1. ref型

refは値を書き込み、読み込みできる抽象型である。

6.20.1.1. Ref.load

loadはRefが持つ現在の値を戻す。

loadは例外を投げてはならない。

6.20.1.2. Ref <- New_val

<- 演算子、つまりop_storeメソッドは、Refの新しい値としてNew_valを書き込む。

<- 演算子は、RefとNew_valに対する事前条件が満たされない場合、例外を投げるかもしれない。たとえば、Refがstr値だけを受け入れるが、New_valがnum値だった場合、 <- 演算子は例外を投げるかもしれない。

<- 演算子は、New_valを許容される値に調整するかもしれない。たとえば、New_valがnum値1000だが、Refが0から99のnum値だけを受け付ける場合、 <- は新しい値として99を書き込むかもしれない。

6.20.2. REF.is?(Val)

is?はValがref値かどうかを戻す。