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

                                                                                            205
X 3017 : 2013 (ISO/IEC 30170 : 2012)
StandardErrorクラス

15.2.28 RuntimeError

15.2.28.1  概要
RuntimeErrorクラスのインスタンスは,実行時エラーを表す。RuntimeErrorクラスのインスタン
スは,Kernelクラスのraiseメソッド(15.3.1.2.12参照)で例外クラスを指定しなかった場合に,例外
として発生する。
15.2.28.2 直接のスーパークラス
StandardErrorクラス

15.2.29 TypeError

15.2.29.1  概要
TypeErrorクラスのインスタンスは,型に関するエラーを表す。
15.2.29.2 直接のスーパークラス
StandardErrorクラス

15.2.30 ZeroDivisionError

15.2.30.1  概要
ZeroDivisionErrorクラスのインスタンスは,0除算エラーを表す。
15.2.30.2 直接のスーパークラス
StandardErrorクラス

15.2.31 NameError

  NameErrorクラスのインスタンスは,名前を値へ解決する場合のエラーを表す。
NameErrorクラスのインスタンスは次の属性をもつ。
名前 : この例外が発生する原因となった名前を表す。
Kernelクラスのcloneメソッド(15.3.1.3.8参照)又はdupメソッド(15.3.1.3.9参照)がNameError
クラスのインスタンスに対して呼び出された場合,レシーバの名前属性を呼出し結果のインスタンスにコ
ピーしなければならない。
15.2.31.1 直接のスーパークラス
StandardErrorクラス
15.2.31.2 インスタンスメソッド
15.2.31.2.1 NameError#initialize
initialize(message=nil, name=nil)
可視性 : public
動作 :
a) レシーバの名前属性の値をnameとする。
b) ameErrorクラスのスーパークラスであるExceptionクラスに定義されているinitializeメソ
ッドを,messageだけを含む実引数リストをその《括弧なし実引数》の値とする《実引数付きsuper》を評
価するのと同様にして呼び出す。
c) 処理系定義の値を返す。
15.2.31.2.2 NameError#name
name

――――― [JIS X 3017 pdf 211] ―――――

206
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 : レシーバの名前属性の値を返す。

15.2.32 NoMethodError

  NoMethodErrorクラスのインスタンスは,存在しないか呼び出せないメソッドを呼び出そうとした場
合に発生するエラーを表す。
NoMethodErrorクラスのインスタンスは,名前(15.2.31参照)及び実引数という属性をもつ。これら
の属性の値はinitializeメソッドによって設定される(15.2.32.2.2参照)。
Kernelクラスのcloneメソッド(15.3.1.3.8参照)又はdupメソッド(15.3.1.3.9参照)が
NoMethodErrorクラスのインスタンスに対して呼び出された場合,レシーバのこれらの属性を呼出し結
果のインスタンスにコピーしなければならない。
15.2.32.1 直接のスーパークラス
NameErrorクラス
15.2.32.2 インスタンスメソッド
15.2.32.2.1 NoMethodError#args
args
可視性 : public
動作 : レシーバの実引数属性の値を返す。
15.2.32.2.2 NoMethodError#initialize
initialize(message=nil, name=nil, args=nil)
可視性 : private
動作 :
a) レシーバの実引数属性の値をargsとする。
b) 15.2.31.2.1で規定されているinitializeメソッドの全ての手順を実行する。
c) 処理系定義の値を返す。

15.2.33 IndexError

15.2.33.1  概要
IndexErrorクラスのインスタンスは,添字に関するエラーを表す。
15.2.33.2 直接のスーパークラス
StandardErrorクラス

15.2.34 IOError

15.2.34.1  概要
IOErrorクラスのインスタンスは,入出力に関するエラーを表す。
15.2.34.2 直接のスーパークラス
StandardErrorクラス

15.2.35 EOFError

15.2.35.1  概要
EOFErrorクラスのインスタンスは,ストリームが終端に達した際に発生するエラーを表す。
15.2.35.2 直接のスーパークラス
IOErrorクラス

――――― [JIS X 3017 pdf 212] ―――――

                                                                                            207
X 3017 : 2013 (ISO/IEC 30170 : 2012)

15.2.36 SystemCallError

15.2.36.1  概要
SystemCallErrorクラスのインスタンスは,IOクラスのメソッドの実行中に発生したエラーを表す。
15.2.36.2 直接のスーパークラス
StandardErrorクラス

15.2.37 ScriptError

15.2.37.1  概要
ScriptErrorクラスのインスタンスは,構文エラー,外部プログラムの読込みエラーなどのプログラ
ムの誤りを表す。
15.2.37.2 直接のスーパークラス
Exceptionクラス

15.2.38 SyntaxError

15.2.38.1  概要
SyntaxErrorクラスのインスタンスは,構文エラーを表す。
15.2.38.2 直接のスーパークラス
ScriptErrorクラス

15.2.39 LoadError

15.2.39.1  概要
LoadErrorクラスのインスタンスは,外部プログラムの読込み時のエラーを表す(15.3.1.2.13参照)。
15.2.39.2 直接のスーパークラス
ScriptErrorクラス

15.3 組込みモジュール

15.3.1 Kernel

15.3.1.1 概要
Kernelモジュールは,Objectクラスによってインクルードされる。Kernelモジュールに定義され
ているインスタンスメソッドは,上書きされない限り,Objectクラスの任意のインスタンスに対して呼
び出すことができる。
15.3.1.2 特異メソッド
15.3.1.2.1 Kernel.
Kernel.(string)
可視性 : public
動作 : このメソッドは,8.7.6.3.7で規定する形式によって呼び出される。
このメソッドは,stringに対応する外部コマンドを実行する。このメソッドによって実行される外部コ
マンドは,処理系定義とする。
このメソッドが呼び出された場合,次の手順を実行する。
a) tringがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) tringの内容に対応した外部コマンドを実行する。外部コマンドの出力をRとする。
c) 内容がRであるStringクラスの直接のインスタンスを作って返す。
15.3.1.2.2 Kernel.blockgiven・

――――― [JIS X 3017 pdf 213] ―――――

208
X 3017 : 2013 (ISO/IEC 30170 : 2012)
Kernel.blockgiven・
可視性 : public
動作 :
a) ブロックの一番上の要素がblock-not-givenの場合,falseを返す。
b) そうではない場合,trueを返す。
15.3.1.2.3 Kernel.eval
Kernel.eval(string)
可視性 : public
動作 :
a) tringがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) tringの内容を,《プログラム》(10.1参照)とみなして構文解析する。構文解析に失敗した場合,
SyntaxErrorクラスの直接のインスタンスを例外として発生させる。
c) 構文解析した《プログラム》(10.1参照)を,このメソッドが呼び出される直前の実行環境の下で評価
する。評価結果の値をVとする。
d) を返す。
手順c)では,その《プログラム》に対応する局所変数のスコープは,9.2 d) 1)において,《ブロック》に対応
する局所変数のスコープとみなされる。
例1 次のプログラムは,“123” と出力する。
x=123
Kernel.eval("print x")
例2 次のプログラムは例外を発生させる。
Kernel.eval("x = 123") # xのスコープはプログラム"x = 123"である。
print x # xはここでは未定義である。
15.3.1.2.4 Kernel.globalvariables
Kernel.globalvariables
可視性 : public
動作 : 全ての大域変数の名前を含む新しく作ったArrayクラスの直接のインスタンスを返す。これらの
名前は,Stringクラス又はSymbolクラスの直接のインスタンスとして表す。どちらのクラスを選ぶか
は処理系定義とする。
15.3.1.2.5 Kernel.iterator・
Kernel.iterator・
可視性 : public
動作 : Kernel.blockgiven・メソッドと同じとする(15.3.1.2.2参照)。
15.3.1.2.6 Kernel.lambda
Kernel.lambda(&block)
可視性 : public
動作 : このメソッドは,Proc.newと同様にしてProcクラスのインスタンスを作る(15.2.17.3.1参照)
が,blockが《yield式》によって呼ばれた場合を除き,blockの評価方法が11.3.3に規定しているものとは次
のように異なる。

――――― [JIS X 3017 pdf 214] ―――――

                                                                                            209
X 3017 : 2013 (ISO/IEC 30170 : 2012)
a) 11.3.3 d)の前に,実引数の個数について次のチェックを行う。
1) を《ブロック》に渡された実引数のリストとする。NaをAの長さとする。
2) 《ブロック仮引数リスト》が《左辺》という形式であり,Naが1でない場合,このメソッドの動作は未
規定とする。
3) 《ブロック仮引数リスト》が《多重代入左辺》という形式の場合,次の手順を行う。
i) 《多重代入左辺》が,《グループ化された左辺》又は《一括左辺》という形式のいずれでもない場合,
次の手順を行う。
I) 《多重代入左辺》のもつ《多重代入左辺項目》の個数をNpとする。
II) a < Npの場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させる。
III) 《一括左辺》が現れず,Na > Npの場合,ArgumentErrorクラスの直接のインスタンスを例外
として発生させる。
ii) 《多重代入左辺》が《グループ化された左辺》という形式で,Naが1でない場合,このメソッドの動
作は未規定とする。
b) 11.3.3 e)において,lambdaの呼出しに関連付けられた《ブロック》の評価が《return式》又は《break式》
によって終了された場合,実行環境をEo(すなわち,保存された実行環境)に戻し,lambdaの実行
を終了する。
lambdaの呼出しの値は次のように決定する。
1) 《return式》又は《break式》が《ジャンプ実引数》をもつ場合,lambdaの呼出しの値はその《ジャンプ実
引数》の値とする。
2) そうではない場合,lambdaの呼出しの値はnilとする。
15.3.1.2.7 Kernel.localvariables
Kernel.localvariables
可視性 : public
動作 : 次の条件を満たす全ての局所変数束縛の名前を含む新しく作ったArrayクラスの直接のインスタ
ンスを返す。
− その束縛の名前が《局所変数識別子》という形式である。
− このメソッドを呼び出した地点を含む局所変数のスコープ内で,その束縛を9.2で規定する手順によ
って解決できる。
このメソッドが返すArrayクラスのインスタンス内の名前は,Stringクラス又はSymbolクラスのイ
ンスタンスで表す。どちらのクラスを選ぶかは処理系定義とする。
15.3.1.2.8 Kernel.loop
Kernel.loop(&block)
可視性 : public
動作 :
a) lockが与えられていない場合,このメソッドの動作は未規定とする。
b) lockが与えられている場合,blockを繰り返し呼び出す。
15.3.1.2.9 Kernel.p
Kernel.p(*args)
可視性 : public

――――― [JIS X 3017 pdf 215] ―――――

次のページ PDF 216

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

  • ISO/IEC 30170:2012(IDT)

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