110
X 3017 : 2013 (ISO/IEC 30170 : 2012)
a) がModuleクラスのインスタンスでない場合,TypeErrorクラスの直接のインスタンスを例外と
して発生させる。
b) 及びRが同じオブジェクトの場合,falseを返す。
c) Aの場合,trueを返す。
d) Rの場合,falseを返す。
e) それ以外の場合,nilを返す。
15.2.2.4.3 Module#<=
<=(other)
可視性 : public
動作 :
a) ther及びレシーバが同じオブジェクトの場合,trueを返す。
b) そうではない場合,“<” メソッド(15.2.2.4.2参照)と同様の動作を行う。
15.2.2.4.4 Module#>
>(other)
可視性 : public
動作 : Aをotherとする。Rをレシーバとする。
a) がModuleクラスのインスタンスでない場合,TypeErrorクラスの直接のインスタンスを例外と
して発生させる。
b) 及びRが同じオブジェクトの場合,falseを返す。
c) Aの場合,falseを返す。
d) Rの場合,trueを返す。
e) それ以外の場合,nilを返す。
15.2.2.4.5 Module#>=
>=(other)
可視性 : public
動作 :
a) ther及びレシーバが同じオブジェクトである場合,trueを返す。
b) そうではない場合,“>” メソッド(15.2.2.4.4参照)と同様の動作を行う。
15.2.2.4.6 Module#==
==(other)
可視性 : public
動作 : Kernelモジュールの “==” メソッドと同じとする(15.3.1.3.1参照)。
15.2.2.4.7 Module#===
===(object)
可視性 : public
動作 : Kernelモジュールのkindof・メソッド(15.3.1.3.26参照)を,objectに対し,レシーバを実引数
として呼び出し,呼出し結果の値を返す。
15.2.2.4.8 Module#aliasmethod
aliasmethod(newname, aliasedname)
――――― [JIS X 3017 pdf 116] ―――――
111
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : private
動作 : Cをレシーバとする。
a) ewnameによって指定される名前を,Nとする。aliasednameによって指定される名前を,Aとする。
b) 13.3.6の手順d)から手順h)までを行う。ここで,13.3.6のA,C及びNは,上記の手順のA,C及びN
とする。
c) を返す。
15.2.2.4.9 Module#ancestors
ancestors
可視性 : public
動作 :
a) rrayクラスの空の直接のインスタンスAを作る。
b) をレシーバとする。
c) が特異クラスである場合,このメソッドの動作は処理系定義とする。
d) そうではない場合,CをAの末尾に追加する。
e) のインクルードモジュールリストのそれぞれの要素を,リスト内と逆順にAの末尾に追加する。
f) が直接のスーパークラスをもつ場合,Cの直接のスーパークラスを新たにCとし,手順c)から繰り
返す。
g) を返す。
15.2.2.4.10 Module#appendfeatures
appendfeatures(module)
可視性 : private
動作 : レシーバ及びmoduleのそれぞれのインクルードモジュールリストを,L1及びL2とする。
a) odule及びレシーバが同じオブジェクトの場合,このメソッドの動作は未規定とする。
b) レシーバがL2の要素の場合,このメソッドの動作は処理系定義とする。
c) そうではない場合,L1のそれぞれのモジュールMについて,リスト内と同順に,次の手順を行う。
1) 及びmoduleが同じオブジェクトの場合,このメソッドの動作は未規定とする。
2) がL2に含まれていない場合,MをL2の末尾に追加する。
d) レシーバをL2の末尾に追加する。
e) 処理系定義の値を返す。
15.2.2.4.11 Module#attr
attr(name)
可視性 : private
動作 : Moduleクラスのattrreaderメソッド(15.2.2.4.13参照)をレシーバに対しnameを実引数とし
て呼び出し,呼出し結果の値を返す。
15.2.2.4.12 Module#attraccessor
attraccessor(*namelist)
可視性 : private
動作 : Cをレシーバとする。
a) amelistのそれぞれの要素Eに対し,次の手順を行う。
――――― [JIS X 3017 pdf 117] ―――――
112
X 3017 : 2013 (ISO/IEC 30170 : 2012)
1) によって指定される名前をNとする。
2) が《局所変数識別子》又は《定数識別子》のいずれの形式でもない場合,Eを名前属性にもつ
NameErrorクラスの直接のインスタンスを例外として発生させる。
3) このメソッドが呼び出された位置で次のメソッド定義を評価するのと同様にして,Cにインスタン
スメソッドを定義する。次のメソッド定義内の “N” はNであるとし,“@N” はNの前に “@” を加
えた名前であるとする。
def N
@N
end
4) このメソッドが呼び出された位置で次のメソッド定義を評価するのと同様にして,Cにインスタン
スメソッドを定義する。次のメソッド定義内の “N=” はNの後に “=” を加えた名前であるとし,
“@N” はNの前に “@” を加えた名前であるとする。“val” という名前は説明のためだけのものであ
り,仮引数名には任意のものを使用してよい。
def N=(val)
@N=val
end
b) 処理系定義の値を返す。
15.2.2.4.13 Module#attrreader
attrreader(*namelist)
可視性 : private
動作 : Moduleクラスのattraccessorメソッド(15.2.2.4.12参照)と同じ手順[手順a) 4)を除く。]
を行う。
15.2.2.4.14 Module#attrwriter
attrwriter(*namelist)
可視性 : private
動作 : Moduleクラスのattraccessorメソッド(15.2.2.4.12参照)と同じ手順[手順a) 3)を除く。]
を行う。
15.2.2.4.15 Module#classeval
classeval(string=nil, &block)
可視性 : public
動作 :
a) をレシーバとする。
b) lockが与えられている場合,次の手順を行う。
1) tringが与えられている場合,ArgumentErrorクラスの直接のインスタンスを例外として発生さ
せる。
2) lockを,処理系定義の実引数とともに,11.3.3で規定されているように呼び出し,Vを呼出し結果
の値とする。規格適合処理系は,11.3.3 d)の直前に,実行環境を次のように変更しなければならな
い。
− クラスモジュールリストの一番上のリストと同じ内容のリストを作り,その先頭にMを追加す
――――― [JIS X 3017 pdf 118] ―――――
113
X 3017 : 2013 (ISO/IEC 30170 : 2012)
る。作ったリストを クラスモジュールリスト に積む。
− レシーバを self に積む。
− 可視性publicを 省略時可視性 に積む。
規格適合処理系は,11.3.3 d)及びe)においては,上記の手順で の一番上
クラスモジュールリスト
のリストの先頭に追加したMを無視しなければならない。ただし,《メソッド定義》(13.3.1参照),
《alias文》(13.3.6参照),又は《undef文》(13.3.7参照)で現在のクラス又はモジュールを参照する
場合を除く。
3) を返す。
c) lockが与えられていない場合,次の手順を行う。
1) tringがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
2) このメソッドが呼び出される直前の実行環境をEとする。
3) を次のとおり変更する。
− クラスモジュールリストの一番上のリストと同じ内容のリストを作り,その先頭にMを追加す
る。作ったリストを クラスモジュールリスト に積む。
− レシーバを self に積む。
− 可視性publicを 省略時可視性 に積む。
4) tringの内容を《プログラム》(10.1参照)として構文解析する。これが失敗した場合,SyntaxError
クラスの直接のインスタンスを例外として発生させる。
5) 《プログラム》を実行環境Eの下で評価し,評価結果の値をVとする。
6) ,
クラスモジュールリスト self 及び 省略時可視性 の一番上の要素を取り除くことによって,実
行環境Eを復元する。この処理は,c) 4)又はc) 5)で例外が発生したが,それが処理されなかった場
合であっても行う。
7) を返す。
手順c) 5)では,その《プログラム》に対応する局所変数のスコープは,9.2 d) 1)において,《ブロック》に
対応する局所変数のスコープとみなされる。
15.2.2.4.16 Module#classvariabledefined・
classvariabledefined・(symbol)
可視性 : public
動作 : Cをレシーバとする。
a) ymbolによって指定される名前をNとする。
b) が《クラス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラスの直接
のインスタンスを例外として発生させる。
c) 11.5.4.5の手順b)から手順d)までを実行することによって,名前がNであるクラス変数束縛を探す。
ここで,11.5.4.5のC及びNはそれぞれ上記の手順のC及びNとする。
d) 束縛が見つかった場合,trueを返す。
e) そうではない場合,falseを返す。
15.2.2.4.17 Module#classvariableget
classvariableget(symbol)
可視性 : 処理系定義
――――― [JIS X 3017 pdf 119] ―――――
114
X 3017 : 2013 (ISO/IEC 30170 : 2012)
動作 : Cをレシーバとする。
a) ymbolによって指定される名前をNとする。
b) が《クラス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラスの直接
のインスタンスを例外として発生させる。
c) 11.5.4.5のb)からd)までを実行することによって,名前がNであるクラス変数束縛を探す。ここで,
11.5.4.5のC及びNはそれぞれ上記の手順のC及びNとする。
d) 束縛が見つかった場合,その束縛の値を返す。
e) そうではない場合,symbolを名前属性にもつNameErrorクラスの直接のインスタンスを例外として
発生させる。
15.2.2.4.18 Module#classvariableset
classvariableset(symbol, obj)
可視性 : 処理系定義
動作 : Cをレシーバとする。
a) ymbolによって指定される名前をNとする。
b) が《クラス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラスの直接
のインスタンスを例外として発生させる。
c) 11.5.4.5の手順b)から手順d)までを実行することによって,名前がNであるクラス変数束縛を探す。
ここで,11.5.4.5のC及びNはそれぞれ上記の手順のC及びNとする。
d) 束縛が見つかった場合,その束縛の値をobjに置き換える。
e) そうではない場合,名前がNであり値がobjである束縛をCのクラス変数束縛の集合内に作る。
f) bjを返す。
15.2.2.4.19 Module#classvariables
classvariables
可視性 : public
動作 :
a) クラス変数の名前の空の集合をNSとする。
b) をレシーバとする。Cに定義されている全てのクラス変数の名前をNSに追加する。
c) のインクルードモジュールリストをLとする。LのそれぞれのモジュールMに対し,Mに定義され
ている全てのクラス変数の名前をNSに追加する。
d) がClassクラスのインスタンスの場合,次の手順を行う。
1) が直接のスーパークラスをもたない場合は,手順e)へ進む。
2) の直接のスーパークラスをSとする。
3) に定義されている全てのクラス変数の名前をNSに追加する。
4) のインクルードモジュールリストをLとする。LのそれぞれのモジュールMに対して,Mに定義
されている全てのクラス変数の名前をNSに追加する。
5) の直接のスーパークラスをCとする。手順d) 1)から処理を継続する。
e) Sの全ての名前を要素にもつArrayクラスの新しい直接のインスタンスAを返す。これらの名前は,
Stringクラス又はSymbolクラスの直接のインスタンスとして表す。どちらのクラスを選ぶかは処
理系定義とする。また,Aの要素の順序も処理系定義とする。
――――― [JIS X 3017 pdf 120] ―――――
次のページ PDF 121
JIS X 3017:2013の引用国際規格 ISO 一覧
- ISO/IEC 30170:2012(IDT)
JIS X 3017:2013の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語