165
X 3017 : 2013 (ISO/IEC 30170 : 2012)
15.2.13.4.26 Hash#store
store(key, value)
可視性 : public
動作 : “[]=” メソッドと同じとする(15.2.13.4.3参照)。
15.2.13.4.27 Hash#value・
value・(value)
可視性 : public
動作 : hasvalue・メソッドと同じとする(15.2.13.4.14参照)。
15.2.13.4.28 Hash#values
values
可視性 : public
動作 : レシーバの全ての組の値を,処理系定義の順序で含むArrayクラスのインスタンスを作って返す。
15.2.14 Range
15.2.14.1 概要
Rangeクラスのインスタンスは,二つの値(すなわち,始点及び終点)の間の範囲を表す。
Rangeクラスのインスタンスは次の属性をもつ。
始点 : 範囲の始点となる値。
終点 : 範囲の終点となる値。
排他的フラグ : この値が真の場合,範囲は終点を含まない。そうではない場合,範囲は終点を含む。
Kernelクラスのcloneメソッド(15.3.1.3.8参照)又はdupメソッド(15.3.1.3.9参照)がRangeク
ラスのインスタンスに対して呼び出された場合,レシーバのこれらの属性を呼出し結果のインスタンスに
コピーしなければならない。
15.2.14.2 直接のスーパークラス
Objectクラス
15.2.14.3 インクルードモジュール
Rangeクラスは,次のモジュールをインクルードする。
− Enumerable
15.2.14.4 インスタンスメソッド
15.2.14.4.1 Range#==
==(other)
可視性 : public
動作 :
a) 次の全ての条件が成り立つ場合,trueを返す。
− otherがRangeクラスのインスタンスである。
− Sをotherの始点とする。“==” メソッドをレシーバの始点に対し,Sを実引数として呼び出した場
合に真が返る。
− Eをotherの終点とする。“==” メソッドをレシーバの終点に対し,Eを実引数として呼び出した場
合に真が返る。
− レシーバの排他的フラグ属性とotherの排他的フラグ属性とが同じ真理値である。
――――― [JIS X 3017 pdf 171] ―――――
166
X 3017 : 2013 (ISO/IEC 30170 : 2012)
b) そうではない場合,falseを返す。
15.2.14.4.2 Range#===
===(obj)
可視性 : public
動作 :
a) レシーバの始点又は終点がNumericクラスのインスタンスでない場合,このメソッドの動作は未規
定とする。
b) “<=>” メソッドを,レシーバの始点に対し,objを実引数として呼び出す。Sを呼出し結果の値とする。
1) がIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
2) の値が0より大きい場合,falseを返す。
c) “<=>” メソッドをobjに対しレシーバの終点を実引数として呼び出す。Eを呼出し結果の値とする。
− EがIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
− レシーバの排他的フラグ属性が真で,Eが0未満の場合,trueを返す。
− レシーバの排他的フラグ属性が偽で,Eの値が0以下の場合,trueを返す。
− そうではない場合,falseを返す。
15.2.14.4.3 Range#begin
begin
可視性 : public
動作 : レシーバの始点を返す。
15.2.14.4.4 Range#each
each(&block)
可視性 : public
動作 :
a) lockが与えられていない場合,このメソッドの動作は未規定とする。
b) レシーバの始点に対し,respondto・メソッドを,名前が “succ” であるSymbolクラスの直接の
インスタンスを実引数として呼び出したとき,結果が偽になった場合,TypeErrorクラスの直接の
インスタンスを例外として発生させる。
c) をレシーバの始点とする。
d) “<=>” メソッドを,Vに対し,レシーバの終点を実引数として呼び出す。Cを呼出し結果の値とする。
1) がIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
2) の値が0より大きい場合,レシーバを返す。
3) の値が0の場合,次の手順を行う。
i) レシーバの排他的フラグ属性が真の場合,レシーバを返す。
ii) レシーバの排他的フラグ属性が偽の場合,blockをVを実引数として呼び出し,レシーバを返す。
e) lockを,Vを実引数として呼び出す。
f) succメソッドを,Vに対して実引数なしで呼び出し,Vを新たに呼出し結果の値とする。
g) 手順d)から処理を続ける。
15.2.14.4.5 Range#end
end
――――― [JIS X 3017 pdf 172] ―――――
167
X 3017 : 2013 (ISO/IEC 30170 : 2012)
可視性 : public
動作 : レシーバの終点を返す。
15.2.14.4.6 Range#excludeend・
excludeend・
可視性 : public
動作 : レシーバの排他的フラグ属性が真の場合,trueを返す。そうではない場合,falseを返す。
15.2.14.4.7 Range#first
first
可視性 : public
動作 : beginメソッドと同じとする(15.2.14.4.3参照)。
15.2.14.4.8 Range#include・
include・(obj)
可視性 : public
動作 : “===” メソッドと同じとする(15.2.14.4.2参照)。
15.2.14.4.9 Range#initialize
initialize(left, right, exclusive=false)
可視性 : private
動作 :
a) “<=>” メソッドを,leftに対し,rightを実引数として呼び出す。この呼出し中に例外が発生し処理さ
れない場合,ArgumentErrorクラスの直接のインスタンスを例外として発生させる。呼出し結果の
値がIntegerクラスのインスタンスでない場合,このメソッドの動作は未規定とする。
b) xclusiveが真の場合,fを真とする。そうではない場合,fを偽とする。
c) レシーバの始点,終点,及び排他的フラグ属性をそれぞれleft,right,及びfとする。
d) 処理系定義の値を返す。
15.2.14.4.10 Range#last
last
可視性 : public
動作 : endメソッドと同じとする(15.2.14.4.5参照)。
15.2.14.4.11 Range#member・
member・(obj)
可視性 : public
動作 : “===” メソッドと同じとする(15.2.14.4.2参照)。
15.2.15 Regexp
15.2.15.1 概要
Regexpクラスのインスタンスは正規表現を表す。Regexpクラスのインスタンスは次の属性をもつ。
パターン : インスタンスの表す正規表現の《パターン》(15.2.15.4参照)。この属性の省略時の値は空とす
る。
Regexpクラスのインスタンスに対するメソッド呼出し時にこの属性の値が空であった場合は,
そのメソッドの動作は未規定とする。ただし,initializeメソッドは除く。
――――― [JIS X 3017 pdf 173] ―――――
168
X 3017 : 2013 (ISO/IEC 30170 : 2012)
大小文字同一視フラグ : マッチを行う際に大文字と小文字とを区別するか否かを表す真理値である。こ
の属性のデフォルトの値は偽とする。
複数行フラグ : “.” 形式のパターンが《行終端子》にマッチするか否かを表す真理値である(15.2.15.4参
照)。この属性のデフォルトの値は偽とする。
15.2.15.2 直接のスーパークラス
Objectクラス
15.2.15.3 定数
Regexpクラスには,次の定数が定義されている。
IGNORECASE : 値が2nのIntegerクラスのインスタンスとする。ここで,nは整数で,その値は処理
系定義とする。この定数の値は次の “MULTILINE” の値と同じであってはならない。
MULTILINE : 値が2mのIntegerクラスのインスタンスとする。mは整数で,その値は処理系定義と
する。
これらの定数は,Regexpクラスのインスタンスの大小文字同一視フラグ属性及び複数行フラグ属性の
値を設定するために使われる(15.2.15.7.5参照)。
15.2.15.4 パターン
構文規則
《パターン》 ::
《候補》1
|《パターン》1 “|” 《候補》2
《候補》 ::
[空]
|《候補》3 《項》
《項》 ::
《アンカー》
|《アトム》1
|《アトム》2 《量化子》
《アンカー》 ::
《左アンカー》|《右アンカー》
《左アンカー》 ::
“\A”|“^”
《右アンカー》 ::
“\z”|“$”
《量化子》 ::
“*”|“+”|“・”
《アトム》 ::
《パターン文字》
|《グループ化》
|“.”
|《アトムエスケープ列》
――――― [JIS X 3017 pdf 174] ―――――
169
X 3017 : 2013 (ISO/IEC 30170 : 2012)
《パターン文字》 ::
《ソース文字》 − 《正規表現メタ文字》
《正規表現メタ文字》 ::
“|”|“.”|“*”|“+”|“^”|“・”|“(”|“)”|“#”|“\”|“$”
|《将来的予約メタ文字》
《将来的予約メタ文字》 ::
“[”|“]”|“[{”|“}]”
《グループ化》 ::
“(” 《パターン》 “)”
《アトムエスケープ列》 ::
《10進エスケープ列》
|《正規表現文字エスケープ列》
《10進エスケープ列》 ::
“\” 《0以外の10進数字》
《正規表現文字エスケープ列》 ::
《正規表現エスケープ列》
|《正規表現非エスケープ列》
|《16進エスケープ列》
|《正規表現8進エスケープ列》
|《正規表現制御エスケープ列》
《正規表現エスケープ列》 ::
“\” 《正規表現エスケープ文字》
《正規表現エスケープ文字》 ::
“n”|“t”|“r”|“f”|“v”|“a”|“e”
《正規表現非エスケープ列》 ::
“\” 《正規表現メタ文字》
《正規表現8進エスケープ列》 ::
《8進エスケープ列》 − 《10進エスケープ列》
《正規表現制御エスケープ列》 ::
“\” ( “C-”|“c” ) 《正規表現制御エスケープ文字》
《正規表現制御エスケープ文字》 ::
《正規表現文字エスケープ列》
|“・”
|《ソース文字》 − ( “\”|“・” )
《将来的予約メタ文字》は,正規表現のパターンを将来拡張するときのために予約されている。
意味規則
正規表現は,その正規表現の《パターン》に従い,対象文字列と呼ばれる文字列から特定の部分文字列を
選択する。《パターン》が二つ以上の部分文字列にマッチする場合,対象文字列中の先頭に最も近い位置か
ら始まる部分文字列が選択される。同じ位置から複数のそのような部分文字列が始まる場合,後述する優
――――― [JIS X 3017 pdf 175] ―――――
次のページ PDF 176
JIS X 3017:2013の引用国際規格 ISO 一覧
- ISO/IEC 30170:2012(IDT)
JIS X 3017:2013の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語