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

160
X 3017 : 2013 (ISO/IEC 30170 : 2012)
− レシーバのそれぞれのキーと値との組Pについて,次の条件を満たすような対応するキーと値との
組Qをotherがもつ。
− (Pのキー)≡(Qのキー)である。
− “==” メソッドを,Pの値に対し,Qの値を実引数として呼び出したとき,結果が真になる。
c) そうではない場合,falseを返す。
15.2.13.4.2 Hash#[]
[](key)
可視性 : public
動作 :
a) ey ≡(Pのキー)が成り立つようなキーと値との組Pをレシーバがもつ場合,Pの値を返す。
b) そうではない場合,レシーバに対しdefaultメソッドを,keyを実引数として呼び出し,呼出し結果
の値を返す。
15.2.13.4.3 Hash#[]=
[]=(key, value)
可視性 : public
動作 :
a) ey ≡(Pのキー)が成り立つようなキーと値との組Pをレシーバがもつ場合,Pの値をvalueに置き
換える。
b) そうではない場合,次の手順を行う。
1) eyがStringクラスの直接のインスタンスの場合,keyの複製を作る。すなわち,内容がkeyの内
容と同じStringクラスの直接のインスタンスKを作る。
2) eyがStringクラスのインスタンスでない場合,Kをkeyとする。
3) eyがStringクラスのサブクラスのインスタンスの場合,複製を作るかどうかは処理系定義とす
る。
4) とvalueとの組をレシーバに保存する。
c) alueを返す。
15.2.13.4.4 Hash#clear
clear
可視性 : public
動作 :
a) レシーバから全てのキーと値との組を取り除く。
b) レシーバを返す。
15.2.13.4.5 Hash#default
default(*args)
可視性 : public
動作 :
a) rgsの長さが1より大きい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生さ
せる。
b) レシーバが省略時の値をもつ場合,それを返す。

――――― [JIS X 3017 pdf 166] ―――――

                                                                                            161
X 3017 : 2013 (ISO/IEC 30170 : 2012)
c) レシーバが省略時のprocをもつ場合,次の手順を行う。
1) rgsの長さが0の場合,nilを返す。
2) rgsの長さが1の場合,レシーバの省略時のprocに対し,レシーバ及びargsの唯一の要素を実引数
としてcallメソッドを呼び出す。呼出し結果の値を返す。
d) そうではない場合,nilを返す。
15.2.13.4.6 Hash#default=
default=(value)
可視性 : public
動作 :
a) レシーバが省略時のprocをもつ場合,それをレシーバから削除する。
b) レシーバの省略時の値をvalueとする。
c) alueを返す。
15.2.13.4.7 Hash#defaultproc
defaultproc
可視性 : public
動作 :
a) レシーバが省略時のprocをもつ場合,それを返す。
b) そうではない場合,nilを返す。
15.2.13.4.8 Hash#delete
delete(key, &block)
可視性 : public
動作 :
a) ey ≡(Pのキー)が成り立つようなキーと値との組Pをレシーバがもつ場合,Pをレシーバから取り
除き,Pの値を返す。
b) そうではない場合,次の手順を行う。
1) lockが与えられている場合,blockを,keyを実引数として呼び出す。呼出し結果の値を返す。
2) そうではない場合,nilを返す。
15.2.13.4.9 Hash#each
each(&block)
可視性 : public
動作 :
a) lockが与えられている場合,レシーバのそれぞれのキーと値との組について,処理系定義の順序で,
次の手順を行う。
1) その組のキーと値とを要素にもつArrayクラスの直接のインスタンスを作る。
2) 作ったインスタンスを実引数としてblockを呼び出す。
レシーバを返す。
b) lockが与えられていない場合,このメソッドの動作は処理系定義とする。
15.2.13.4.10 Hash#eachkey
eachkey(&block)

――――― [JIS X 3017 pdf 167] ―――――

162
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 :
a) lockが与えられている場合,レシーバのそれぞれのキーと値との組について,処理系定義の順序で,
その組のキーを実引数としてblockを呼び出す。レシーバを返す。
b) lockが与えられていない場合,このメソッドの動作は処理系定義とする。
15.2.13.4.11 Hash#eachvalue
eachvalue(&block)
可視性 : public
動作 :
a) lockが与えられている場合,レシーバのそれぞれのキーと値との組について,処理系定義の順序で,
その組の値を実引数としてblockを呼び出す。レシーバを返す。
b) lockが与えられていない場合,このメソッドの動作は処理系定義とする。
15.2.13.4.12 Hash#empty・
empty・
可視性 : public
動作 :
a) レシーバが空の場合,trueを返す。
b) そうではない場合,falseを返す。
15.2.13.4.13 Hash#haskey・
haskey・(key)
可視性 : public
動作 :
a) ey ≡(Pのキー)が成り立つようなキーと値との組Pをレシーバがもつ場合,trueを返す。
b) そうではない場合,falseを返す。
15.2.13.4.14 Hash#hasvalue・
hasvalue・(value)
可視性 : public
動作 :
a) 値が次の条件を満たすようなキーと値との組をレシーバがもつ場合,trueを返す。
− その値に対し,“==” メソッドを,valueを実引数として呼び出したとき,結果が真になる。
b) そうではない場合,falseを返す。
15.2.13.4.15 Hash#include・
include・(key)
可視性 : public
動作 : haskey・メソッドと同じとする(15.2.13.4.13参照)。
15.2.13.4.16 Hash#initialize
initialize(*args, &block)
可視性 : private
動作 :

――――― [JIS X 3017 pdf 168] ―――――

                                                                                            163
X 3017 : 2013 (ISO/IEC 30170 : 2012)
a) lockが与えられており,argsの長さが0でない場合,ArgumentErrorクラスの直接のインスタンス
を例外として発生させる。
b) lockが与えられており,argsの長さが0の場合,blockを表すProcクラスの直接のインスタンスを
作り,それをレシーバの省略時のprocとする。
c) lockが与えられていない場合,次の手順を行う。
1) rgsの長さが0の場合,Dをnilとする。
2) rgsの長さが1の場合,Dをその唯一の要素とする。
3) rgsの長さが1より大きい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生
させる。
4) レシーバの省略時の値をDとする。
d) 処理系定義の値を返す。
15.2.13.4.17 Hash#initializecopy
initializecopy(original)
可視性 : private
動作 :
a) riginalがHashクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) レシーバから全てのキーと値との組を取り除く。
c) riginalのそれぞれのキーと値との組Pについて,処理系定義の順序で,レシーバに対してPのキー
及びPの値を実引数として “[]=” メソッド(15.2.13.4.3参照)を呼び出すことによって,レシーバ
がもつキーと値との組を追加又は更新する。
d) レシーバの省略時の値又は省略時のprocを削除する。
e) rignalが省略時の値をもつ場合,それをレシーバの省略時の値とする。
f) rignalが省略時のprocをもつ場合,それをレシーバの省略時のprocとする。
g) 処理系定義の値を返す。
15.2.13.4.18 Hash#key・
key・(key)
可視性 : public
動作 : haskey・メソッドと同じとする(15.2.13.4.13参照)。
15.2.13.4.19 Hash#keys
keys
可視性 : public
動作 : レシーバの全ての組のキーを,処理系定義の順序で含むArrayクラスのインスタンスを作って返
す。
15.2.13.4.20 Hash#length
length
可視性 : public
動作 : レシーバのもつキーと値との組の個数を値としてもつIntegerクラスのインスタンスを返す。
15.2.13.4.21 Hash#member・
member・(key)

――――― [JIS X 3017 pdf 169] ―――――

164
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 : haskey・メソッドと同じとする(15.2.13.4.13参照)。
15.2.13.4.22 Hash#merge
merge(other, &block)
可視性 : public
動作 :
a) therがHashクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) therがHashクラスのインスタンスである場合,レシーバと同じキーと値との組をもつHashクラス
の直接のインスタンスHを作る。
c) therのそれぞれのキーと値との組Pについて,処理系定義の順序で,次の手順を行う。
1) lockが与えられている場合,次の手順を行う。
i) Hが,(Pのキー)≡(Qのキー)であるようなキーと値との組Qをもつ場合,Pのキー,Qの値,
及びPの値を実引数としてblockを呼び出す。呼出し結果の値をVとする。Hに対してPのキー
及びVを実引数として “[]=” メソッド(15.2.13.4.3参照)を呼び出すことによって,Hがもつキ
ーと値との組を追加又は更新する。
ii) そうではない場合,Hに対してPのキー及びPの値を実引数として “[]=” メソッド(15.2.13.4.3
参照)を呼び出すことによって,Hがもつキーと値との組を追加又は更新する。
2) lockが与えられていない場合,Hに対してPのキー及びPの値を実引数として “[]=” メソッド
(15.2.13.4.3参照)を呼び出すことによって,Hがもつキーと値との組を追加又は更新する。
d) を返す。
15.2.13.4.23 Hash#replace
replace(other)
可視性 : public
動作 : initializecopyメソッドと同じとする(15.2.13.4.17参照)。
15.2.13.4.24 Hash#shift
shift
可視性 : public
動作 :
a) レシーバが空の場合,次の手順を行う。
1) レシーバが省略時のprocをもつ場合,その省略時のprocに対し,レシーバ及びnilを実引数として
callメソッドを呼び出す。呼出し結果の値を返す。
2) レシーバが省略時の値をもつ場合,それを返す。
3) そうではない場合,nilを返す。
b) そうではない場合,処理系定義の方法でキーと値との組Pを選び,それをレシーバから取り除く。P
のキーと値とを要素としてもつArrayクラスのインスタンスを作って返す。
15.2.13.4.25 Hash#size
size
可視性 : public
動作 : lengthメソッドと同じとする(15.2.13.4.20参照)。

――――― [JIS X 3017 pdf 170] ―――――

次のページ PDF 171

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

  • ISO/IEC 30170:2012(IDT)

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