135
X 3017 : 2013 (ISO/IEC 30170 : 2012)
b) therがIntegerクラスのインスタンスの場合,Rを浮動小数点数としてのotherの値とする。
Rとレシーバの値との和を値にもつFloatクラスの直接のインスタンスを返す。
c) そうではない場合,otherに対しレシーバを実引数としてcoerceメソッドを呼び出す。Vを呼出し結
果の値とする。
1) が要素を二つ含むArrayクラスの1インスタンスの場合,F及びSをそれぞれVの最初及び最後
の要素とする。
i) Fに対し,Sを実引数として “+” メソッドを呼び出す。
ii) 呼出し結果の値を返す。
2) そうではない場合,TypeErrorクラスの直接のインスタンスを例外として発生させる。
15.2.9.3.4 Float#-
-(other)
可視性 : public
動作 :
a) therがFloatクラスのインスタンスの場合,レシーバの値からotherの値を引いたものを値にもつ
Floatクラスの直接のインスタンスを返す。
b) therがIntegerクラスのインスタンスの場合,Rを浮動小数点数としてのotherの値とする。レシ
ーバの値からRを引いたものを値にもつFloatクラスの直接のインスタンスを返す。
c) そうではない場合,otherに対しレシーバを実引数としてcoerceメソッドを呼び出す。Vを呼出し結
果の値とする。
1) が要素を二つ含むArrayクラスのインスタンスの場合,F及びSをそれぞれVの最初及び最後の
要素とする。
i) Fに対し,Sを実引数として “-” メソッドを呼び出す。
ii) 呼出し結果の値を返す。
2) そうではない場合,TypeErrorクラスの直接のインスタンスを例外として発生させる。
15.2.9.3.5 Float#*
*(other)
可視性 : public
動作 :
a) therがFloatクラスのインスタンスの場合,レシーバの値とotherの値との積を値にもつFloatク
ラスの直接のインスタンスを返す。
b) therがIntegerクラスのインスタンスの場合,Rを浮動小数点数としてのotherの値とする。Rとレ
シーバの値との積を値にもつFloatクラスの直接のインスタンスを返す。
c) そうではない場合,otherに対しレシーバを実引数としてcoerceメソッドを呼び出す。Vを呼出し結
果の値とする。
1) が要素を二つ含むArrayクラスのインスタンスの場合,F及びSをそれぞれVの最初及び最後の
要素とする。
i) Fに対し,Sを実引数として “*” メソッドを呼び出す。
ii) 呼出し結果の値を返す。
2) そうではない場合,TypeErrorクラスの直接のインスタンスを例外として発生させる。
――――― [JIS X 3017 pdf 141] ―――――
136
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.9.3.6 Float#/
/(other)
可視性 : public
動作 :
a) therがFloatクラスのインスタンスの場合,otherの値をレシーバの値で除したものを値にもつ
Floatクラスの直接のインスタンスを返す。
b) therがIntegerクラスのインスタンスの場合,Rを浮動小数点数としてのotherの値とする。
レシーバの値をRで除したものを値にもつFloatクラスの直接のインスタンスを返す。
c) そうではない場合,otherに対しレシーバを実引数としてcoerceメソッドを呼び出す。Vを呼出し結
果の値とする。
1) が要素を二つ含むArrayクラスのインスタンスの場合,F及びSをそれぞれVの最初及び最後の
要素とする。
i) Fに対し,Sを実引数として “/” メソッドを呼び出す。
ii) 呼出し結果の値を返す。
2) そうではない場合,TypeErrorクラスの直接のインスタンスを例外として発生させる。
15.2.9.3.7 Float#%
%(other)
可視性 : public
動作 : 次の手順では,2項演算子 “+”,“−”,及び “×” はそれぞれ,Floatクラスのインスタンスメソ
ッド “+”,“-”,及び “*” で使われている浮動小数点数演算である加算,減算,及び乗算を表す。演算子 “×”
は演算子 “+” 及び “−” より優先度が高いとする。
a) therがIntegerクラスのインスタンス又はFloatクラスのインスタンスの場合,次の手順を行う。
xをレシーバの値とする。
1) therがFloatクラスのインスタンスの場合,yをotherの値とする。otherがIntegerクラスのイ
ンスタンスの場合,yを浮動小数点数としてのotherの値とする。
i) xをyで除した値以下の最大の整数をtとする。
ii) −t×yをmとする。
iii) 値がmであるFloatクラスの直接のインスタンスを返す。
b) そうではない場合,otherに対しレシーバを実引数としてcoerceメソッドを呼び出す。Vを呼出し結
果の値とする。
1) が要素を二つ含むArrayクラスのインスタンスの場合,F及びSをそれぞれVの最初及び最後の
要素とする。
i) Fに対し,Sを実引数として “%” メソッドを呼び出す。
ii) 呼出し結果の値を返す。
2) そうではない場合,TypeErrorクラスの直接のインスタンスを例外として発生させる。
15.2.9.3.8 Float#ceil
ceil
可視性 : public
動作 : レシーバの値以上の最小の整数を値とするIntegerクラスのインスタンスを返す。
――――― [JIS X 3017 pdf 142] ―――――
137
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.9.3.9 Float#finite・
finite・
可視性 : public
動作 :
a) レシーバの値が有限の数の場合,trueを返す。
b) そうではない場合,falseを返す。
15.2.9.3.10 Float#floor
floor
可視性 : public
動作 : レシーバの値以下の最大の整数を値とするIntegerクラスのインスタンスを返す。
15.2.9.3.11 Float#infinite・
infinite・
可視性 : public
動作 :
a) レシーバの値が正の無限大の場合,値が1のIntegerクラスのインスタンスを返す。
b) レシーバの値が負の無限大の場合,値が−1のIntegerクラスのインスタンスを返す。
c) それ以外の場合,nilを返す。
15.2.9.3.12 Float#round
round
可視性 : public
動作 : レシーバの値に最も近い整数を値とするIntegerクラスのインスタンスを返す。レシーバとの距
離が等しい二つの整数が存在した場合は,絶対値の大きな方を値とする。
15.2.9.3.13 Float#tof
tof
可視性 : public
動作 : レシーバを返す。
15.2.9.3.14 Float#toi
toi
可視性 : public
動作 : レシーバの値の整数部分を値とするIntegerクラスのインスタンスを返す。
15.2.9.3.15 Float#truncate
truncate
可視性 : public
動作 : toiメソッドと同じとする(15.2.9.3.14参照)。
15.2.10 String
15.2.10.1 概要
Stringクラスのインスタンスは文字の列を表す。あるStringクラスのインスタンスの表す文字の並
びを,そのインスタンスの内容と呼ぶ。
文字を一つも含まないStringクラスのインスタンスは空であるという。Stringクラスのインスタン
――――― [JIS X 3017 pdf 143] ―――――
138
X 3017 : 2013 (ISO/IEC 30170 : 2012)
スは,Classクラスのnewメソッドの手順b)によって作られたとき,空でなければならない。
“文字Cを表すObjectクラスのインスタンス”という表現は,次のいずれかを意味する。
− 値がCの文字符号であるようなIntegerクラスのインスタンス。
− 内容が一つの文字CであるようなStringクラスのインスタンス。
規格適合処理系は,上記のうちどちらか一つの表現を選び,上記の表現が出現する箇所は全て選んだ方
の表現を用いなければならない。
Stringクラスのインスタンスの文字は0から始まる添字をもつ。“Stringクラスのインスタンスのn
番目の文字”という表現は,そのインスタンスの含む文字のうち,添字がnであるものを指す。
15.2.10.2 直接のスーパークラス
Objectクラス
15.2.10.3 インクルードモジュール
Stringクラスは,次のモジュールをインクルードする。
− Comparable
15.2.10.4 大文字及び小文字
Stringクラスの幾つかのメソッドは,大文字及び小文字に対して処理を行う。大文字と小文字との対
応関係を表3に示す。
表3−大文字と小文字との対応関係
大文字 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
小文字 a b c d e f g h i j k l m n o p q r s t u v w x y z
15.2.10.5 インスタンスメソッド
15.2.10.5.1 String#<=>
<=>(other)
可視性 : public
動作 :
a) therがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) レシーバ及びotherのそれぞれの内容を,S1及びS2とする。
c) 1及びS2の両方が空の場合,値が0であるIntegerクラスのインスタンスを返す。
d) そうではなく,S1が空の場合,値が−1であるIntegerクラスのインスタンスを返す。
e) そうではなく,S2が空の場合,値が1であるIntegerクラスのインスタンスを返す。
f) 1及びS2のそれぞれの最初の文字の文字符号を,a及びbとする。
1) > bの場合,値が1であるIntegerクラスのインスタンスを返す。
2) < bの場合,値が−1であるIntegerクラスのインスタンスを返す。
3) そうではない場合,S1及びS2をそれぞれ,S1及びS2からその最初の文字を除いたものに置き換え,
手順c)から繰り返す。
15.2.10.5.2 String#==
==(other)
可視性 : public
動作 :
――――― [JIS X 3017 pdf 144] ―――――
139
X 3017 : 2013 (ISO/IEC 30170 : 2012)
a) therがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) therがStringクラスのインスタンスの場合,次の手順を行う。
1) レシーバの内容とotherの内容とが等しい場合,trueを返す。
2) そうではない場合,falseを返す。
15.2.10.5.3 String#=~
=~(regexp)
可視性 : public
動作 :
a) egexpがRegexpクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) egexpがRegexpクラスのインスタンスである場合,regexpに対し,レシーバを実引数として “=~” メ
ソッドを呼び出し,呼出し結果の値を返す(15.2.15.7.7参照)。
15.2.10.5.4 String#+
+(other)
可視性 : public
動作 :
a) therがStringクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) レシーバ及びotherのそれぞれの内容を,S及びOとする。
c) とOとを連結したものを内容とする新しく作ったStringクラスの直接のインスタンスを返す。
15.2.10.5.5 String#*
*(num)
可視性 : public
動作 :
a) umがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) をnumの値とする。
c) が0未満の場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させる。
d) そうではない場合,Cをレシーバの内容とする。
e) 内容がCのn回の繰返しであるStringクラスの直接のインスタンスSを作る。
f) を返す。
15.2.10.5.6 String#[]
[](*args)
可視性 : public
動作 :
a) rgsの長さが0であるか,2より大きい場合,ArgumentErrorクラスの直接のインスタンスを例外
として発生させる。
b) をargsの最初の要素とする。nをレシーバの長さとする。
c) がIntegerクラスのインスタンスの場合,bをPの値とする。
1) rgsの長さが1の場合,次の手順を行う。
i) bが0未満の場合,bをnだけ増加させる。bがまだ0未満の場合,nilを返す。
ii) ≧ nの場合,nilを返す。
――――― [JIS X 3017 pdf 145] ―――――
次のページ PDF 146
JIS X 3017:2013の引用国際規格 ISO 一覧
- ISO/IEC 30170:2012(IDT)
JIS X 3017:2013の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語