JIS X 3017:2013 プログラム言語Ruby | ページ 45

                                                                                            215
X 3017 : 2013 (ISO/IEC 30170 : 2012)
のいずれかである場合,このメソッドの動作は未規定とする。
b) レシーバが特異クラスと関連付けられていない場合,新しい特異クラスMを作る。
c) レシーバが特異クラスと関連付けられている場合,その特異クラスをMとする。
d) oduleクラスのclassevalメソッドの手順b)から最後の手順までを実行する(15.2.2.4.15参照)。
Objectクラスがクラス継承木の根でない場合,instanceevalメソッドは,Kernelモジュールに
定義する代わりに,クラス継承木の根であるクラスに定義しなければならない。
15.3.1.3.19 Kernel#instanceof・
instanceof・(module)
可視性 : public
動作 : Cをレシーバのクラスとする。
a) oduleがClassクラスのインスタンスでもModuleクラスのインスタンスでもない場合,
TypeErrorクラスの直接のインスタンスを例外として発生させる。
b) odule及びCが同じオブジェクトの場合,trueを返す。
c) そうではない場合,falseを返す。
15.3.1.3.20 Kernel#instancevariabledefined・
instancevariabledefined・(symbol)
可視性 : public
動作 :
a) ymbolによって指定される名前をNとする。
b) が《インスタンス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラス
の直接のインスタンスを例外として発生させる。
c) レシーバのインスタンス変数束縛の集合内に名前がNである束縛が存在する場合,trueを返す。
d) そうではない場合,falseを返す。
15.3.1.3.21 Kernel#instancevariableget
instancevariableget(symbol)
可視性 : public
動作 :
a) ymbolによって指定される名前をNとする。
b) が《インスタンス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラス
の直接のインスタンスを例外として発生させる。
c) レシーバのインスタンス変数束縛の集合内に名前がNである束縛が存在する場合,その束縛の値を返
す。
d) そうではない場合,nilを返す。
15.3.1.3.22 Kernel#instancevariableset
instancevariableset(symbol, obj)
可視性 : public
動作 :
a) ymbolによって指定される名前をNとする。
b) が《インスタンス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラス

――――― [JIS X 3017 pdf 221] ―――――

216
X 3017 : 2013 (ISO/IEC 30170 : 2012)
の直接のインスタンスを例外として発生させる。
c) レシーバのインスタンス変数束縛の集合内に名前がNである束縛が存在する場合,その束縛の値をobj
で置き換える。
d) そうではない場合,名前がNで値がobjである束縛をレシーバのインスタンス変数束縛の集合内に作
る。
e) bjを返す。
15.3.1.3.23 Kernel#instancevariables
instancevariables
可視性 : public
動作 : レシーバの全てのインスタンス変数の名前を含む新しく作ったArrayクラスの直接のインスタン
スを返す。これらの名前は,Stringクラス又はSymbolクラスの直接のインスタンスとして表す。どち
らのクラスを選ぶかは処理系定義とする。
15.3.1.3.24 Kernel#isa・
isa・(module)
可視性 : public
動作 :
a) oduleがClassクラスのインスタンスでもModuleクラスのインスタンスでもない場合,
TypeErrorクラスの直接のインスタンスを例外として発生させる。
b) をレシーバのクラスとする。
c) oduleがClassクラスのインスタンスであり,次のいずれかの条件が成り立つ場合,trueを返す。
− module及びCが同じオブジェクトである。
− moduleがCのスーパークラスである。
− module及びレシーバの特異クラスが同じオブジェクトである。
d) oduleがModuleクラスのインスタンスであり,かつ,Cのスーパークラスのいずれか又はC自身が
moduleをインクルードしている場合,trueを返す。
e) そうではない場合,falseを返す。
15.3.1.3.25 Kernel#iterator・
iterator・
可視性 : private
動作 : Kernel.iterator・メソッドと同じとする(15.3.1.2.5参照)。
15.3.1.3.26 Kernel#kindof・
kindof・(module)
可視性 : public
動作 : isa・メソッドと同じとする(15.3.1.3.24参照)。
15.3.1.3.27 Kernel#lambda
lambda(&block)
可視性 : private
動作 : Kernel.lambdaメソッドと同じとする(15.3.1.2.6参照)。
15.3.1.3.28 Kernel#localvariables

――――― [JIS X 3017 pdf 222] ―――――

                                                                                            217
X 3017 : 2013 (ISO/IEC 30170 : 2012)
localvariables
可視性 : private
動作 : Kernel.localvariablesメソッドと同じとする(15.3.1.2.7参照)。
15.3.1.3.29 Kernel#loop
loop(&block)
可視性 : private
動作 : Kernel.loopメソッドと同じとする(15.3.1.2.8参照)。
15.3.1.3.30 Kernel#methodmissing
methodmissing(symbol, *args)
可視性 : private
動作 :
a) ymbolがSymbolクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) ymbolがSymbolクラスのインスタンスである場合,名前属性がsymbolで,実引数属性がargsであ
るNoMethodErrorクラスの直接のインスタンスを例外として発生させる。このメソッドが《局所変
数識別子》をメソッド呼出しとして評価している際に13.3.3 e)で呼び出された場合,規格適合処理系は
NoMethodErrorの代わりにsymbolを名前属性にもつNameErrorクラスの直接のインスタンスを例
外として発生させてもよい。
Objectクラスがクラス継承木の根でない場合,methodmissingメソッドは,Kernelモジュールに
定義する代わりに,クラス継承木の根であるクラスに定義しなければならない。
15.3.1.3.31 Kernel#methods
methods(all=true)
可視性 : public
動作 : Cをレシーバのクラスとする。
a) llが真の場合,Cに対しinstancemethodsメソッド(15.2.2.4.33参照)を呼び出し,呼出し結果
の値を返す。
b) llが偽の場合,レシーバに対しfalseを実引数としてsingletonmethodsメソッド(15.3.1.3.45参
照)を呼び出し,呼出し結果の値を返す。
15.3.1.3.32 Kernel#nil・
nil・
可視性 : public
動作 :
a) レシーバがnilの場合,trueを返す。
b) そうではない場合,falseを返す。
15.3.1.3.33 Kernel#objectid
objectid
可視性 : public
動作 : このメソッドはIntegerクラスのインスタンスを返す。このメソッドが同じオブジェクトに対し
て複数回呼び出された場合,このメソッドが返すIntegerクラスのインスタンスはどれも同じ値をもた
なければならない。また,このメソッドが異なる二つのオブジェクトに対し呼び出された場合,このメソ

――――― [JIS X 3017 pdf 223] ―――――

218
X 3017 : 2013 (ISO/IEC 30170 : 2012)
ッドが返すIntegerクラスのインスタンスは異なる値をもたなければならない。
15.3.1.3.34 Kernel#p
p(*args)
可視性 : private
動作 : Kernel.pメソッドと同じとする(15.3.1.2.9参照)。
15.3.1.3.35 Kernel#print
print(*args)
可視性 : private
動作 : Kernel.printメソッドと同じとする(15.3.1.2.10参照)。
15.3.1.3.36 Kernel#privatemethods
privatemethods(all=true)
可視性 : public
動作 :
a) Vをprivateとする。
b) rrayクラスの空の直接のインスタンスAを作る。
c) レシーバが特異クラスと結び付けられている場合,Cをその特異クラスとする。
d) をCのインスタンスメソッド束縛の集合とする。
Iのそれぞれの束縛Bについて,N及びVをそれぞれBの名前及び値とし,次の手順を行う。
1) がundefであるか,Vの可視性がMVでない場合,次の二つの手順は行わない。
2) 内容がNである新しく作ったStringクラスの直接のインスタンス又は名前がNであるSymbol
クラスの直接のインスタンスのいずれかを,Sとする。Sの値としてどちらを選ぶかは処理系定義と
する。
3) をAの末尾に追加する。ただし,SがSymbolクラスのインスタンスでありAが同じ名前のSymbol
クラスのインスタンスを要素にもつ場合,又はSがStringクラスのインスタンスでありAが同じ
内容のStringクラスのインスタンスを要素にもつ場合は追加しない。
e) のインクルードモジュールリストのそれぞれのモジュールMについて手順d)を実行する。ここで,
この手順の中のCはMであるとする。
f) を新たにレシーバのクラスとし,手順d)を実行する。
g) llが真の場合,次の手順を行う。
1) 手順e)を実行する。
2) が直接のスーパークラスをもたない場合,Aを返す。
3) を新たにCの直接のスーパークラスとする。
4) 手順d)を実行し,手順g) 1)から繰り返す。
h) を返す。
15.3.1.3.37 Kernel#protectedmethods
protectedmethods(all=true)
可視性 : public
動作 : privatemethodsメソッドと同じとする(15.3.1.3.36参照)。ただし,15.3.1.3.36 a)において,MV
はprotectedとする。

――――― [JIS X 3017 pdf 224] ―――――

                                                                                            219
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.3.1.3.38 Kernel#publicmethods
publicmethods(all=true)
可視性 : public
動作 : privatemethodsメソッドと同じとする(15.3.1.3.36参照)。ただし,15.3.1.3.36 a)において,MV
はpublicとする。
15.3.1.3.39 Kernel#puts
puts(*args)
可視性 : private
動作 : Kernel.putsメソッドと同じとする(15.3.1.2.11参照)。
15.3.1.3.40 Kernel#raise
raise(*args)
可視性 : private
動作 : Kernel.raiseメソッドと同じとする(15.3.1.2.12参照)。
15.3.1.3.41 Kernel#removeinstancevariable
removeinstancevariable(symbol)
可視性 : private
動作 :
a) ymbolによって指定される名前をNとする。
b) が《インスタンス変数識別子》という形式でない場合,symbolを名前属性にもつNameErrorクラス
の直接のインスタンスを例外として発生させる。
c) レシーバのインスタンス変数束縛の集合内に名前がNである束縛が存在する場合,Vをその束縛の値
とする。
1) その束縛をレシーバのインスタンス変数束縛の集合から取り除く。
2) を返す。
d) そうではない場合,symbolを名前属性にもつNameErrorクラスの直接のインスタンスを例外として
発生させる。
15.3.1.3.42 Kernel#require
require(*args)
可視性 : private
動作 : Kernel.requireメソッドと同じとする(15.3.1.2.13参照)。
15.3.1.3.43 Kernel#respondto・
respondto・(symbol, includeprivate=false)
可視性 : public
動作 :
a) ymbolによって指定される名前をNとする。
b) 13.3.4で規定したように,レシーバを起点として名前がNであるインスタンスメソッド束縛を探す。
c) 束縛が見つかった場合,Vをその束縛の値とする。
1) がundefの場合,falseを返す。
2) の可視性がprivateの場合,次の手順を行う。

――――― [JIS X 3017 pdf 225] ―――――

次のページ PDF 226

JIS X 3017:2013の引用国際規格 ISO 一覧

  • ISO/IEC 30170:2012(IDT)

JIS X 3017:2013の国際規格 ICS 分類一覧