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

140
X 3017 : 2013 (ISO/IEC 30170 : 2012)
iii) レシーバのb番目の文字を表す新しく作ったObjectクラスのインスタンスを返す。
2) rgsの長さが2の場合,次の手順を行う。
i) argsの最後の要素がIntegerクラスのインスタンスの場合,lをそのインスタンスの値とする。
そうではない場合,このメソッドの動作は未規定とする。
ii) が0未満であるか,bがnより大きい場合,nilを返す。
iii) が0未満の場合,bをnだけ増加させる。bがまだ0未満の場合,nilを返す。
iv) +lがnより大きい場合,lを新たにn−bとする。
v) が0以下の場合,Stringクラスの空の直接のインスタンスを作って返す。
vi) そうではない場合,レシーバのb番目からl個の文字を,同じ順序で保持するStringクラスの
直接のインスタンスを作って返す。
d) がRegexpクラスのインスタンスの場合,次の手順を行う。
1) rgsの長さが1の場合,iを0とする。
2) rgsの長さが2であり,argsの最後の要素がIntegerクラスのインスタンスの場合,iをそのイン
スタンスの値とする。そうではない場合,このメソッドの動作は未規定とする。
3) レシーバの内容に対して,Pのパターン属性とのマッチを試みる(15.2.15.4及び15.2.15.5参照)。M
をマッチ処理の結果とする。
4) がnilの場合,nilを返す。
5) がMのマッチ結果属性の長さより大きい場合,nilを返す。
6) が0未満の場合,iをMのマッチ結果属性の長さだけ増加させる。iがまだ0以下の場合,nilを返
す。
7) をMのマッチ結果属性のi番目の要素とする。mの部分文字列を内容にもつStringクラスの直
接のインスタンスを作って返す。
e) がStringクラスのインスタンスの場合,次の手順を行う。
1) rgsの長さが2の場合,このメソッドの動作は未規定とする。
2) レシーバがPの内容を部分的に含む場合,Pと同じ内容をもつStringクラスの直接のインスタン
スを作って返す。
3) そうではない場合,nilを返す。
f) そうではない場合,このメソッドの動作は未規定とする。
15.2.10.5.7 String#capitalize
capitalize
可視性 : public
動作 : 次の場合を除き,レシーバと同じ内容をもつ新しく作ったStringクラスの直接のインスタンスを
返す。
− レシーバの最初の文字が小文字の場合,その文字に対応する大文字をこのメソッドが返すインスタン
スの内容の最初の文字とする。
− レシーバのi番目の文字(ただしi > 0とする。)が大文字の場合,その文字に対応する小文字をこ
のメソッドが返すインスタンスの内容のi番目の文字とする。
15.2.10.5.8 String#capitalize!
capitalize!

――――― [JIS X 3017 pdf 146] ―――――

                                                                                            141
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 :
a) レシーバに対しcapitalizeメソッドを呼び出した際に返るStringクラスのインスタンスの内容
を,sとする。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.9 String#chomp
chomp(rs="\n")
可視性 : public
動作 :
a) sがnilの場合,レシーバと同じ内容をもつ新しく作ったStringクラスの直接のインスタンスを返
す。
b) レシーバが空の場合,新しく作ったStringクラスの空の直接のインスタンスを返す。
c) sがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
d) sがStringクラスのインスタンスである場合,レシーバと同じ内容をもつ新しく作ったStringク
ラスの直接のインスタンスを返す。ただし,次の場合は除く。
1) sの内容が文字0x0aだけであり,レシーバの末尾が《行終端子》の場合,その《行終端子》は除く。
2) sが空であり,レシーバの末尾が一つ以上の《行終端子》の並びの場合,それらの《行終端子》は除く。
3) そうではない場合で,レシーバの末尾がrsの内容である文字列に等しい場合,それらの文字は除く。
15.2.10.5.10 String#chomp!
chomp!(rs="\n")
可視性 : public
動作 :
a) レシーバに対しchompメソッドをrsを実引数として呼び出した際に返るStringクラスのインスタ
ンスの内容を,sとする。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.11 String#chop
chop
可視性 : public
動作 :
a) レシーバが空の場合,新しく作ったStringクラスの空の直接のインスタンスを返す。
b) そうではない場合,レシーバの内容の最後の文字以外を内容としてもつ新しく作ったStringクラス
の直接のインスタンスを作って返す。ただし,レシーバの最後の文字が0x0aであり,その0x0aの直
前の文字が0x0dの場合,その0x0dも除く。
15.2.10.5.12 String#chop!
chop!
可視性 : public
動作 :

――――― [JIS X 3017 pdf 147] ―――――

142
X 3017 : 2013 (ISO/IEC 30170 : 2012)
a) レシーバに対しchopメソッドを呼び出した際に返るStringクラスのインスタンスの内容を,sと
する。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.13 String#downcase
downcase
可視性 : public
動作 : レシーバの内容の全てを含み,その中の全ての大文字を対応する小文字に置き換えたものを内容と
する新しく作ったStringクラスの直接のインスタンスを返す。
15.2.10.5.14 String#downcase!
downcase!
可視性 : public
動作 :
a) レシーバに対しdowncaseメソッドを呼び出した際に返るStringクラスのインスタンスの内容を,
sとする。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.15 String#eachline
eachline(&block)
可視性 : public
動作 : sをレシーバの内容とする。cをsの最初の文字とする。
a) lockが与えられていない場合,このメソッドの動作は未規定とする。
b) 中の,c以降の最初の0x0aを探す。このような0x0aが存在する場合,次の手順を行う。
1) をその0x0aとする。
2) からdまでの文字列を内容とするStringクラスの直接のインスタンスSを作る。
3) lockを,Sを実引数として呼び出す。
4) がsの最後の文字の場合,レシーバを返す。そうではない場合,cを新たにdの直後の文字とし手
順b)から繰り返す。
c) このような0x0aが存在しない場合,cからsの最後の文字までの文字列を内容とするStringクラス
の直接のインスタンスを作り,それを実引数としてblockを呼び出す。
d) レシーバを返す。
15.2.10.5.16 String#empty・
empty・
可視性 : public
動作 :
a) レシーバが空の場合,trueを返す。
b) そうではない場合,falseを返す。
15.2.10.5.17 String#eql・
eql・(other)

――――― [JIS X 3017 pdf 148] ―――――

                                                                                            143
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 :
a) therがStringクラスのインスタンスの場合,次の手順を行う。
1) レシーバの内容とotherの内容とが等しい場合,trueを返す。
2) そうではない場合,falseを返す。
b) therがStringクラスのインスタンスでない場合,falseを返す。
15.2.10.5.18 String#gsub
gsub(*args, &block)
可視性 : public
動作 :
a) rgsの長さが0であるか2より大きい場合,又はargsの長さが1でblockが与えられていない場合は,
ArgumentErrorクラスの直接のインスタンスを例外として発生させる。
b) をargsの最初の要素とする。PがRegexpクラスのインスタンスでない場合,又は,argsの長さが
2であってargsの最後の要素がStringクラスのインスタンスでない場合,このメソッドの動作は未
規定とする。
c) をレシーバの内容とし,lをSの長さとする。
d) を空のリストとし,nを0とする。
e) に対し,添字nの位置から,Pのパターン属性とのマッチを試みる(15.2.15.4及び15.2.15.5参照)。
Mをマッチ処理の結果とする。
f) がnilの場合,Lの末尾に,Sのn番目から最後までの文字の列を追加する。
g) そうではない場合,次の手順を行う。
1) rgsの長さが1の場合,次の手順を行う。
i) Mのマッチする部分文字列を内容とする新しく作ったStringクラスの直接のインスタンスを実
引数としてblockを呼び出す。
ii) を呼出し結果の値とする。VがStringクラスのインスタンスでない場合,このメソッドの動
作は未規定とする。
2) のマッチ前(15.2.16.1参照)をpreとする。nがpreの最後の文字の添字より大きくない場合,pre
のn番目から最後までの文字列をLの末尾に追加する。
3) rgsの長さが1の場合,Vの内容をLの末尾に追加する。argsの長さが2の場合,argsの最後の要
素の内容をLの末尾に追加する。
4) のマッチ後(15.2.16.1参照)をpostとする。postの最初の文字のS内の添字を,iとする。
i) iがnと等しい,すなわちPが空文字列にマッチする場合,次の手順を行う。
I) のi番目の文字だけを内容とする新しく作ったStringクラスの直接のインスタンスを,Lの
末尾に追加する。
II) を1だけ増加させる。
ii) そうではない場合,nの値をiで置き換える。
5) < lの場合,手順e)から繰り返す。
h) の全ての要素を連結したものを内容とするStringクラスの直接のインスタンスを作って返す。
15.2.10.5.19 String#gsub!

――――― [JIS X 3017 pdf 149] ―――――

144
X 3017 : 2013 (ISO/IEC 30170 : 2012)
gsub!(*args, &block)
可視性 : public
動作 :
a) レシーバに対しgsubメソッドを呼び出した際に返るStringクラスのインスタンスの内容を,sと
する。
b) レシーバの内容とsとが等しい場合,nilを返す。そうではない場合,レシーバの内容をsに置き換え,
レシーバを返す。
15.2.10.5.20 String#hash
hash
可視性 : public
動作 : 次の条件を満たすような処理系定義の値をもつIntegerクラスのインスタンスを返す。
a) 異なる二つのStringクラスのインスタンスを,S1及びS2とする。
b) 1及びS2に対しhashメソッドを呼び出した結果の値をそれぞれ,H1及びH2とする。
c) 1とS2とが同じ内容をもつ場合,H1の値とH2の値とが等しくなければならない。
15.2.10.5.21 String#include・
include・(obj)
可視性 : public
動作 :
a) bjがIntegerクラスのインスタンスの場合,次の手順を行う。
文字符号がobjの値に等しい文字をレシーバが含んでいる場合,trueを返す。そうではない場合,
falseを返す。
b) bjがStringクラスのインスタンスの場合,次の手順を行う。
レシーバがobjの内容を部分文字列として含む場合,trueを返す。そうではない場合,falseを返す。
c) そうではない場合,このメソッドの動作は未規定とする。
15.2.10.5.22 String#index
index(substring, offset=0)
可視性 : public
動作 :
a) ubstringがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) 及びSをそれぞれレシーバ及びsubstringの内容とする。
c) ffsetがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
d) をoffsetの値とする。
e) が0以上の場合,Oをnとする。
f) そうではない場合,lをSの長さとして,Oをl+nとする。
g) が0より小さい場合,nilを返す。
h) 以上の添字をもつ一つ以上の位置にSがRの部分文字列として現れる場合,最初の位置の添字を値
とするIntegerクラスのインスタンスを返す。
i) そうではない場合,nilを返す。
15.2.10.5.23 String#initialize

――――― [JIS X 3017 pdf 150] ―――――

次のページ PDF 151

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

  • ISO/IEC 30170:2012(IDT)

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