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

                                                                                            145
X 3017 : 2013 (ISO/IEC 30170 : 2012)
initialize(str="")
可視性 : private
動作 :
a) trがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) そうではない場合,レシーバの内容をstrの内容と同じ文字列で初期化する。
c) 処理系定義の値を返す。
15.2.10.5.24 String#initializecopy
initializecopy(original)
可視性 : private
動作 :
a) riginalがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) riginalがStringクラスのインスタンスである場合,レシーバの内容をoriginalの内容と同じ文字列
に変更する。
c) 処理系定義の値を返す。
15.2.10.5.25 String#intern
intern
可視性 : public
動作 :
a) レシーバの長さが0であるか,レシーバが0x00を含む場合,このメソッドの動作は未規定とする。
b) そうではない場合,レシーバの内容を名前にもつSymbolクラスの直接のインスタンスを返す。
15.2.10.5.26 String#length
length
可視性 : public
動作 : レシーバの内容の文字数を値としてもつIntegerクラスのインスタンスを返す。
15.2.10.5.27 String#match
match(regexp)
可視性 : public
動作 :
a) egexpがRegexpクラスのインスタンスの場合,Rをregexpとする。
b) そうではなく,regexpがStringクラスのインスタンスの場合,newメソッドをRegexpクラスに対
しregexpを実引数として呼び出すことによって,Regexpクラスの直接のインスタンスを作る。Rを
このRegexpクラスのインスタンスとする。
c) それ以外の場合は,このメソッドの動作は未規定とする。
d) に対し,レシーバを実引数としてmatchメソッドを呼び出す。
e) 呼び出した結果の値を返す。
15.2.10.5.28 String#replace
replace(other)
可視性 : public
動作 : initializecopyメソッドと同じとする(15.2.10.5.24参照)。

――――― [JIS X 3017 pdf 151] ―――――

146
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.10.5.29 String#reverse
reverse
可視性 : public
動作 : レシーバの内容である文字の並びを逆順にしたものを内容とする新しく作ったStringクラスの直
接のインスタンスを返す。
15.2.10.5.30 String#reverse!
reverse!
可視性 : public
動作 :
a) レシーバに対しreverseメソッドを呼び出したときに返るStringクラスのインスタンスの内容で,
レシーバの内容を置き換える。
b) レシーバを返す。
15.2.10.5.31 String#rindex
rindex(substring, offset=nil)
可視性 : public
動作 :
a) ubstringがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) 及びSをそれぞれレシーバ及びsubstringの内容とする。
c) ffsetが与えられた場合,次の手順を行う。
1) ffsetがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
2) をoffsetの値とする。
3) が0以上の場合,Oをnとする。
4) そうではない場合,lをSの長さとして,Oをl+nとする。
5) が0より小さい場合,nilを返す。
d) そうではない場合,Oを0とする。
e) 以下の添字をもつ一つ以上の位置にSがRの部分文字列として現れる場合,最後の位置の添字を値
とするIntegerクラスのインスタンスを返す。
f) そうではない場合,nilを返す。
15.2.10.5.32 String#scan
scan(reg, &block)
可視性 : public
動作 :
a) egがRegexpクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) lockが与えられていない場合,Arrayクラスの空の直接のインスタンスAを作る。
c) をレシーバの内容とし,lをSの長さとする。
d) を0とする。
e) に対し,添字nの位置から,regのパターン属性とのマッチを試みる(15.2.15.4及び15.2.15.5参照)。
Mをマッチ処理の結果とする。
f) がnilでない場合,次の手順を行う。

――――― [JIS X 3017 pdf 152] ―――――

                                                                                            147
X 3017 : 2013 (ISO/IEC 30170 : 2012)
1) をMのマッチ結果属性とする。
2) の長さが1の場合,Mのマッチする部分文字列を内容とするStringクラスの直接のインスタン
スVを作る。
3) の長さが1より大きい場合,次の手順を行う。
i) Arrayクラスの空の直接のインスタンスVを作る。
ii) の先頭以外のそれぞれの要素eについてリスト内と同順に,eの部分文字列を内容とする新しく
作ったStringクラスの直接のインスタンスをVの末尾に追加する。
4) lockが与えられている場合,blockをVを実引数として呼び出す。そうではない場合,VをAの末
尾に追加する。
5) ostをMのマッチ後とする。iをpostの最初の文字のS内での添字とする。
i) iとnとが等しい,すなわちregが空文字列にマッチした場合,nを1だけ増加させる。
ii) そうではない場合,nを新たにiとする。
6) < lの場合,手順e)から繰り返す。
g) lockが与えられている場合,レシーバを返す。そうではない場合,Aを返す。
15.2.10.5.33 String#size
size
可視性 : public
動作 : lengthメソッドと同じとする(15.2.10.5.26参照)。
15.2.10.5.34 String#slice
slice(*args)
可視性 : public
動作 : “[]” メソッドと同じとする(15.2.10.5.6参照)。
15.2.10.5.35 String#split
split(sep)
可視性 : public
動作 :
a) epがRegexpクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) rrayクラスの空の直接のインスタンスAを作る。
c) をレシーバの内容とし,lをSの長さとする。
d) p及びbpをそれぞれ0とし,was-emptyを偽とする。
e) に対し,添字spの位置から,sepのパターン属性とのマッチを試みる(15.2.15.4及び15.2.15.5参照)。
Mをマッチ処理の結果とする。
f) がnilの場合,Aの末尾に,Sのsp番目から最後までの文字の列を内容とする新しく作ったString
クラスの直接のインスタンスを追加する。
g) そうではない場合,次の手順を行う。
1) のマッチする部分文字列が空の場合,次の手順を行う。
i) was-emptyが真の場合,Sのbp番目の文字だけを内容とする新しく作ったStringクラスの直接
のインスタンスをAの末尾に追加する。
ii) そうではない場合,spを1だけ増加させる。sp < lの場合,was-emptyを真とし手順e)から繰り

――――― [JIS X 3017 pdf 153] ―――――

148
X 3017 : 2013 (ISO/IEC 30170 : 2012)
返す。
2) そうではない場合,was-emptyを偽とする。preをMのマッチ前とする。bpがpreの最後の文字の添
字より大きくない場合,preのbp番目から最後までの文字列を内容とする新しく作ったStringク
ラスの直接のインスタンスをAの末尾に追加する。
3) をMのマッチ結果属性とする。
4) の長さが1より大きい場合,Lの先頭を除くそれぞれの要素eについてリスト内と同順で,次の
手順を行う。
i) cをeの部分文字列とする。
ii) がnilでない場合,cを内容とする新しく作ったStringクラスの直接のインスタンスをAの末
尾に追加する。
5) ostをMのマッチ後とし,sp及びbpをいずれもpostの最初の文字の添字とする。
6) p > lの場合,手順e)から繰り返す。
h) の末尾に幾つかの空のStringクラスのインスタンスがある場合,それらのインスタンスをAから
削除する。
i) Aを返す。
15.2.10.5.36 String#sub
sub(*args, &block)
可視性 : public
動作 :
a) rgsの長さが1でありblockが与えられているか,又はargsの長さが2の場合,次の手順を行う。
1) rgsの最初の要素がRegexpクラスのインスタンスでない場合,このメソッドの動作は未規定とす
る。
2) レシーバの内容に対し,argsの最初の要素のパターン属性とのマッチを試みる(15.2.15.4及び
15.2.15.5参照)。Mをマッチ処理の結果とする。
3) がnilの場合,レシーバと同じ内容をもつStringクラスの直接のインスタンスを作って返す。
4) そうではない場合,次の手順を行う。
i) argsの長さが1の場合,Mのマッチする部分文字列を内容とする新しく作ったStringクラスの
直接のインスタンスを実引数としてblockを呼び出す。Sを呼出し結果の値とする。SがString
クラスのインスタンスでない場合,このメソッドの動作は未規定とする。
ii) rgsの長さが2の場合,Sをargsの最後の要素とする。SがStringクラスのインスタンスでな
い場合,このメソッドの動作は未規定とする。
iii) のマッチ前,Sの内容,及びMのマッチ後を連結したものを内容とするStringクラスの直接
のインスタンスを作って返す。
b) そうではない場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させる。
15.2.10.5.37 String#sub!
sub!(*args, &block)
可視性 : public
動作 :
a) レシーバに対しsubメソッドを呼び出した際に返るStringクラスのインスタンスの内容を,sとす

――――― [JIS X 3017 pdf 154] ―――――

                                                                                            149
X 3017 : 2013 (ISO/IEC 30170 : 2012)
る。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.38 String#tof
tof
可視性 : public
動作 :
a) レシーバが空の場合,値が0.0のFloatクラスの直接のインスタンスを返す。
b) レシーバが《浮動小数点数リテラル》である文字の並びから始まる場合,その《浮動小数点数リテラル》
と同じ値をもつFloatクラスの直接のインスタンスを返す(8.7.6.2参照)。
c) レシーバが《前置子なし10進整数リテラル》である文字の並びから始まる場合,その《前置子なし10
進整数リテラル》の浮動小数点数としての値を値にもつFloatクラスの直接のインスタンスを返す
(8.7.6.2参照)。
d) そうではない場合,処理系定義の値をもつFloatクラスの直接のインスタンスを返す。
15.2.10.5.39 String#toi
toi(base=10)
可視性 : public
動作 :
a) aseの値が2,8,10,又は16のいずれかであるIntegerクラスのインスタンスである場合,bを
baseの値とする。そうではない場合,このメソッドの動作は未規定とする。
b) レシーバが空の場合,値が0のIntegerクラスのインスタンスを返す。
c) を0とする。レシーバのi番目の文字が《空白類》である間,iを1だけ増加させ続ける。
d) レシーバのi番目の文字が “+” 又は “-” の場合,iを1だけ増加させる。
e) レシーバのi番目の文字が “0” であり,次のいずれかの条件が成り立つ場合,iを2だけ増加させる。
添字がi+1であるレシーバ中の文字をcとする。
− bが2であり,cが “b” 又は “B” である。
− bが8であり,cが “o” 又は “O” である。
− bが10であり,cが “d” 又は “D” である。
− bが16であり,cが “x” 又は “X” である。
f) レシーバのi番目から始まる,次の文字の並びを,sとする。
− bが2の場合,《2進数字》及び “”。
− bが8の場合,《8進数字》及び “”。
− bが10の場合,《10進数字》及び “”。
− bが16の場合,《16進数字》及び “”。
g) の長さが0の場合,値が0のIntegerクラスのインスタンスを返す。
h) が “” から始まるか,連続した “” を含む場合,このメソッドの動作は未規定とする。
i) bを基数とし,“” を無視してsを数値化したものをnとする。
手順d)で “-” が現れていた場合は,値が−nのIntegerクラスのインスタンスを返す。
そうではない場合,値がnのIntegerクラスのインスタンスを返す。

――――― [JIS X 3017 pdf 155] ―――――

次のページ PDF 156

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

  • ISO/IEC 30170:2012(IDT)

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