150
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.10.5.40 String#tos
tos
可視性 : public
動作 :
a) レシーバがStringクラスの直接のインスタンスの場合,レシーバを返す。
b) そうではない場合,レシーバと同じ内容をもつ新しく作ったStringクラスの直接のインスタンスを
作って返す。
15.2.10.5.41 String#tosym
tosym
可視性 : public
動作 : internメソッドと同じとする(15.2.10.5.25参照)。
15.2.10.5.42 String#upcase
upcase
可視性 : public
動作 : レシーバの内容の全てを含み,その中の全ての小文字を対応する大文字に置き換えたものを内容と
する新しく作ったStringクラスの直接のインスタンスを返す。
15.2.10.5.43 String#upcase!
upcase!
可視性 : public
動作 :
a) レシーバに対しupcaseメソッドを呼び出した際に返るStringクラスのインスタンスの内容を,s
とする。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.11 Symbol
15.2.11.1 概要
Symbolクラスのインスタンスは名前を表す(8.7.6.6参照)。Symbolクラスのどの二つのインスタンス
も,同じ名前を表してはならない。
注記 したがって,Symbolクラスのインスタンスの等価性はKernelモジュールの “==” メソッド
(15.3.1.3.1参照)によってテストされ, Stringクラスの “==” メソッド(15.2.10.5.2参照)
によるよりも速いことが期待される。
Symbolクラスのインスタンスは,Symbolクラスのnewメソッドによって作られてはならない。した
がって,Symbolクラスの特異クラスに対し,undefmethodメソッド(15.2.2.4.42参照)を,名前が “new”
であるSymbolクラスの直接のインスタンスを実引数として呼び出すことによって,Symbolクラスの特
異メソッドnewの定義は削除されていなければならない。
15.2.11.2 直接のスーパークラス
Objectクラス
15.2.11.3 インスタンスメソッド
15.2.11.3.1 Symbol#===
――――― [JIS X 3017 pdf 156] ―――――
151
X 3017 : 2013 (ISO/IEC 30170 : 2012)
===(other)
可視性 : public
動作 : Kernelモジュールの “==” メソッドと同じとする(15.3.1.3.1参照)。
15.2.11.3.2 Symbol#id2name
id2name
可視性 : public
動作 : 内容がレシーバの名前であるようなStringクラスの直接のインスタンスを作って返す。
15.2.11.3.3 Symbol#tos
tos
可視性 : public
動作 : id2nameメソッドと同じとする(15.2.11.3.2参照)。
15.2.11.3.4 Symbol#tosym
tosym
可視性 : public
動作 : レシーバを返す。
15.2.12 Array
15.2.12.1 概要
Arrayクラスのインスタンスは,要素の個数が固定していない配列を表す。要素を一つももたない
Arrayクラスのインスタンスは空であるという。Arrayクラスのインスタンスの要素の個数を,そのイン
スタンスの長さという。
Arrayクラスのインスタンスは,Classクラスのnewメソッドの手順b)によって作られたとき,空で
なければならない。
Arrayクラスのインスタンスの要素は0から始まる添字をもつ。
ArrayクラスのインスタンスAに対し,末尾に追加,先頭に追加,及び削除の操作を次のように定義す
る。
末尾に追加 : オブジェクトOをAの末尾に追加するとは,次のような動作とする。
− Oを,Aの最後の要素の後に追加する。
− あるオブジェクトをAの末尾に追加すると,Aの長さは1だけ増加する。
先頭に追加 : オブジェクトOをAの先頭に追加するとは,次のような動作とする。
− Oを,Aの先頭の要素にする。Aの元の要素は,それぞれ1ずつ後ろに移動する。
− あるオブジェクトをAの先頭に追加すると,Aの長さは1だけ増加する。
削除 : 要素XをAから削除するとは,次のような動作とする。
a) をAから取り除く。
b) がAの最後の要素でない場合,AのXより後の全ての要素を,それぞれ1ずつ前に移動する。
− ある要素をAから削除すると,Aの長さは1だけ減少する。
15.2.12.2 直接のスーパークラス
Objectクラス
15.2.12.3 インクルードモジュール
Arrayクラスは,次のモジュールをインクルードする。
――――― [JIS X 3017 pdf 157] ―――――
152
X 3017 : 2013 (ISO/IEC 30170 : 2012)
− Enumerable
15.2.12.4 特異メソッド
15.2.12.4.1 Array.[]
Array.[](*items)
可視性 : public
動作 : itemsの要素を同じ順序で保持するArrayクラスのインスタンスを作って返す。
15.2.12.5 インスタンスメソッド
15.2.12.5.1 Array#+
+(other)
可視性 : public
動作 :
a) therがArrayクラスのインスタンスの場合,Aをotherとする。そうではない場合,このメソッドの
動作は未規定とする。
b) rrayクラスの空の直接のインスタンスRを作る。
c) レシーバのそれぞれの要素を,添字順に,Rの末尾に追加する。次に,Aのそれぞれの要素を,添字
順に,Rの末尾に追加する。
d) を返す。
15.2.12.5.2 Array#*
*(num)
可視性 : public
動作 :
a) umがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) umの値が0より小さい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させ
る。
c) umの値が0の場合,Arrayクラスの空の直接のインスタンスを返す。
d) そうではない場合,Arrayクラスの直接のインスタンスAを作り,次の手順をnum回繰り返す。
− レシーバの全ての要素を,同じ順序でAの末尾に追加する。
e) を返す。
15.2.12.5.3 Array#<<
<<(obj)
可視性 : public
動作 : objをレシーバの末尾に追加し,レシーバを返す。
15.2.12.5.4 Array#[]
[](*args)
可視性 : public
動作 :
a) をレシーバの長さとする。
b) rgsの長さが0の場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させる。
c) rgsの長さが1の場合,次の手順を行う。
――――― [JIS X 3017 pdf 158] ―――――
153
X 3017 : 2013 (ISO/IEC 30170 : 2012)
1) 唯一の実引数がIntegerクラスのインスタンスの場合,kをその値とする。そうではない場合,こ
のメソッドの動作は未規定とする。
2) < 0の場合,kをn増加させる。kがまだ0より小さい場合,nilを返す。
3) ≧ nの場合,nilを返す。
4) そうではない場合,レシーバのk番目の要素を返す。
d) rgsの長さが2の場合,次の手順を行う。
1) rgsの要素がいずれもIntegerクラスのインスタンスの場合,bとlとをそれぞれargsの最初及び
最後の要素の値とする。そうではない場合,このメソッドの動作は未規定とする。
2) < 0の場合,bをn増加させる。bがまだ0より小さい場合,nilを返す。
3) > n又はl < 0の場合,nilを返す。
4) = nの場合,Arrayクラスの空の直接のインスタンスを作って返す。
5) > n−bの場合,lを新たにn−bとする。
6) rrayクラスの空の直接のインスタンスAを作る。レシーバのb番目からl個の要素を,同じ順序
で,Aの末尾に追加する。Aを返す。
e) rgsの長さが2より大きい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生さ
せる。
15.2.12.5.5 Array#[]=
[]=(*args)
可視性 : public
動作 :
a) をレシーバの長さとする。
b) rgsの長さが2より小さい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生さ
せる。
c) rgsの長さが2の場合,次の手順を行う。
1) rgsの最初の要素がIntegerクラスのインスタンスの場合,kをその要素の値とし,Vをargsの最
後の要素とする。そうではない場合,このメソッドの動作は未規定とする。
2) < 0の場合,kをn増加させる。kがまだ0より小さい場合,IndexErrorクラスの直接のイン
スタンスを例外として発生させる。
3) < nの場合,レシーバのk番目の要素をVに置き換える。
4) そうではない場合,レシーバの長さをk+1に拡張する。レシーバの最後の要素はVとする。k > n
の場合,添字がn以上k−1以下の要素はnilとする。
5) を返す。
d) rgsの長さが3の場合,このメソッドの動作は未規定とする。
e) rgsの長さが3より大きい場合,ArgumentErrorクラスの直接のインスタンスを例外として発生さ
せる。
15.2.12.5.6 Array#clear
clear
可視性 : public
動作 : レシーバの全ての要素を削除し,レシーバを返す。
――――― [JIS X 3017 pdf 159] ―――――
154
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.12.5.7 Array#collect!
collect!(&block)
可視性 : public
動作 :
a) lockが与えられている場合,次の手順を行う。
1) レシーバのそれぞれの要素について,添字順に,その要素を唯一の実引数としてblockを呼び出し,
レシーバのその要素を呼出し結果の値に置き換える。
2) レシーバを返す。
b) lockが与えられていない場合,このメソッドの動作は未規定とする。
15.2.12.5.8 Array#concat
concat(other)
可視性 : public
動作 :
a) therがArrayクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) therがArrayクラスのインスタンスである場合,otherの全ての要素を,同じ順序でレシーバの末尾
に追加する。
c) レシーバを返す。
15.2.12.5.9 Array#deleteat
deleteat(index)
可視性 : public
動作 :
a) ndexがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) ndexがIntegerクラスのインスタンスである場合,iをindexの値とする。
c) をレシーバの長さとする。
d) が0より小さい場合,iをn増加させる。bがまだ0より小さい場合,nilを返す。
e) がn以上の場合,nilを返す。
f) そうではない場合,レシーバのi番目の要素を削除し,削除した要素を返す。
15.2.12.5.10 Array#each
each(&block)
可視性 : public
動作 :
a) lockが与えられている場合,次の手順を行う。
1) レシーバのそれぞれの要素について,添字順に,その要素を唯一の実引数としてblockを呼び出す。
2) レシーバを返す。
b) lockが与えられていない場合,このメソッドの動作は未規定とする。
15.2.12.5.11 Array#eachindex
eachindex(&block)
可視性 : public
動作 :
――――― [JIS X 3017 pdf 160] ―――――
次のページ PDF 161
JIS X 3017:2013の引用国際規格 ISO 一覧
- ISO/IEC 30170:2012(IDT)
JIS X 3017:2013の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語