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

X 3017 : 2013 (ISO/IEC 30170 : 2012)

pdf 目次

まえがき

  この規格は,工業標準化法第14条によって準用する第12条第1項の規定に基づき,独立行政法人情報
処理推進機構(IPA)から,工業標準原案を具して日本工業規格(日本産業規格)を改正すべきとの申出があり,日本工業
標準調査会の審議を経て,経済産業大臣が改正した日本工業規格(日本産業規格)である。
これによって,JIS X 3017:2011は改正され,この規格に置き換えられた。
この規格は,著作権法で保護対象となっている著作物である。
この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意
を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許権,出願公開後の特許出願及び実
用新案権に関わる確認について,責任はもたない。

(pdf 一覧ページ番号 6)

――――― [JIS X 3017 pdf 6] ―――――

                                       日本工業規格(日本産業規格)                             JIS
X 3017 : 2013
(ISO/IEC 30170 : 2012)

プログラム言語RubyProgramming languages-Ruby

序文

  この規格は,2012年に第1版として発行されたISO/IEC 30170を基に,技術的内容及び構成を変更する
ことなく作成した日本工業規格(日本産業規格)である。ISO/IEC 30170:2012の審議過程において,表現の曖昧さを排除す
るための変更がなされたため,JIS X 3017:2011にその修正を反映した。
なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

1 適用範囲

  この規格は,プログラム言語Rubyの構文規則及び意味規則を規定し,その規格適合処理系,規格に厳
密に適合するプログラム及び規格適合プログラムの要件を規定する。
この規格は,次の事項を規定しない。
− 規格適合処理系が評価するプログラムテキストの大きさ又は複雑さの限界。
− 規格適合処理系をサポートするために,データ処理システムが満たさなければならない最小要件。
− データ処理システム上でプログラムの実行を起動する方法。
− 構文の誤り,又は実行時に発生したエラーを報告する方法。
注記1 Rubyプログラムの実行とは,その《プログラム》(10.1参照)をRuby処理系で評価すること
である。
注記2 この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。
ISO/IEC 30170:2012,Information technology−Programming languages−Ruby(IDT)
なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1に基づき,“一致している”
ことを示す。

2 引用規格

  次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの
引用規格は,記載の年の版を適用し,その後の改正版(追補を含む。)は適用しない。
ISO/IEC 646:1991,Information technology−ISO 7-bit coded character set for information interchange
注記 対応日本工業規格(日本産業規格) : JIS X 0201:1997 7ビット及び8ビットの情報交換用符号化文字集合
(MOD)
IEC 60559:1989,Binary floating-point arithmetic for microprocessor systems
注記 2011年に改正され,ISO/IEC/IEEE 60559:2011,Information technology−Microprocessor Systems
−Floating-Point arithmeticが発行されている。
ISO/IEC 2382-1:1993,Information technology−Vocabulary−Part 1: Fundamental terms

――――― [JIS X 3017 pdf 7] ―――――

2
X 3017 : 2013 (ISO/IEC 30170 : 2012)
注記 対応日本工業規格(日本産業規格) : JIS X 0001:1994 情報処理用語−基本用語(MOD)

3 規格適合性

  Rubyの規格に厳密に適合するプログラムは,次の項目を満たさなければならない。
− この規格が規定する機能だけを使用しなければならない。
− いかなる未規定の動作又は処理系定義の動作に依存する出力も生成してはならない。
Rubyの規格適合処理系は,次の項目を満たさなければならない。
− 規格に厳密に適合するプログラムを,この規格の規定に従って評価しなければならない。
Rubyの規格適合処理系は,次のとおり実装してもよい。
− 規格に厳密に適合するプログラムの動作を変えない限りにおいて,この規格で規定した方法と異なる
方法でプログラムを評価してもよい。ただし,そのプログラムが組込みクラス又は組込みモジュール
(箇条15参照)の任意のメソッド又は定数を再定義した場合,そのプログラムの動作はこの規格で規
定されたものと異なっていてもよい(注記2参照)。
− この規格で規定されていない構文規則をサポートしたり,この規格で規定していない機能を利用する
プログラムを評価してもよい。
− 規格適合処理系は,処理系定義の動作並びにこの規格で規定されている以外の機能及び動作を適合性
文書に記載しなければならない。
Rubyの規格適合プログラムは,Rubyのある規格適合処理系が評価することができるプログラムとする。
− 規格適合プログラムは,プログラムが期待する処理系定義の動作,並びにプログラム内で使用される,
この規格で規定されている以外の機能及び期待する動作を適合性文書に記載しなければならない。
注記1 期待する動作を記載する代わりに,その期待する動作をサポートする規格適合処理系の名前
を記載してもよい。
注記2 例えば,規格適合処理系は,組込みクラス又は組込みモジュールのメソッドの呼出しを最適
化のために省略し,代わりにそのメソッドと同じ計算を行ってもよい。この場合,たとえ,
プログラムがそのメソッドを再定義しても,再定義されたメソッドが呼び出せないため,そ
のプログラムの動作は変更できないこともある。

4 用語及び定義

  この規格で用いる主な用語及び定義はISO/IEC 2382-1:1993によるほか,次による。その他の用語は,
その用語を実線下線で示した場所,又は構文規則の左辺に出現した場所で定義したとみなす。
4.1
ブロック(block)
メソッド呼出しに渡される手続き。
4.2
クラス(class)
オブジェクトであって,そのクラスのインスタンスと呼ばれる他のオブジェクトの集合の動作を定義す
るもの。

――――― [JIS X 3017 pdf 8] ―――――

                                                                                              3
X 3017 : 2013 (ISO/IEC 30170 : 2012)
注記 その動作は,インスタンスに対して呼び出すことのできるメソッドの集合である。
4.3
クラス変数(class variable)
あるクラスの全てのインスタンスで共有される変数。
4.4
定数(constant)
クラス又はモジュールの中で定義されるが,そのクラス又はモジュールの内からも外からもアクセスで
きる変数。
注記 通常,プログラムの実行中は定数の値が不変であることが期待されるが,この規格ではそれを
強制しない。
4.5
例外(exception)
例外的な事象の発生を表すオブジェクト。
4.6
大域変数(global variable)
プログラムのどこからでもアクセスできる変数。
4.7
処理系定義(の)(implementation-defined)
規格適合処理系の全てに実装されているが,その動作については処理系ごとに異なることを許す(連体
修飾)。
4.8
インスタンスメソッド(instance method)
あるクラスのインスタンスに対して呼び出すことのできるメソッド。
4.9
インスタンス変数(instance variable)
変数であって,全てのオブジェクトがそれぞれもつ変数束縛の集合の中に存在するもの。
4.10
局所変数(local variable)
メソッド定義,ブロック,クラス定義,モジュール定義,特異クラス定義,プログラムの最上位などの
プログラム要素によって導入される,特定のスコープ内だけでアクセスできる変数。
4.11
メソッド(method)
手続きであって,オブジェクトに対して呼び出されたときに,そのオブジェクトに対する一連の計算を
実行するもの。
4.12
メソッド可視性(method visibility)
メソッドの属性であって,メソッド呼出しが許可される条件を決定するもの。
4.13
モジュール(module)
クラス又は他のモジュールに取り込まれる(以下,インクルードされるという。)ことによって機能が提

――――― [JIS X 3017 pdf 9] ―――――

4
X 3017 : 2013 (ISO/IEC 30170 : 2012)
供されるオブジェクト。
4.14
オブジェクト(object)
状態及び動作をもつ計算実体。
注記 オブジェクトの動作は,そのオブジェクトに対して呼び出すことのできるメソッドの集合であ
る。
4.15
特異クラス(singleton class)
オブジェクトであって,他のオブジェクトと関連付けられ,関連付けられたオブジェクトの動作を変更
できるもの。
注記 特異クラスは,通常一つのオブジェクトに関連付けられる。ただし,規格適合処理系は,13.4.1
で記述しているように,特異クラスを複数のオブジェクトに関連付けてもよい。
4.16
特異メソッド(singleton method)
特異クラスのインスタンスメソッド。
4.17
未規定(の)(unspecified)
規格適合処理系によってその動作が異なっていてもよく,規格適合処理系が必ずしも実装していなくて
もよい(連体修飾)。
4.18
変数(variable)
オブジェクトを参照する計算実体。そのオブジェクトはその変数の値と呼ばれる。
4.19
変数束縛(variable binding)
変数と,その変数によって参照されているオブジェクトとの結び付き。

5 記法

5.1 総則

  この箇条では,“並べる”及び“区切って並べる”を,次のとおり意味を限定して用いる。
a) の並び (長さnの)“Aの並び”とは,Aが示す種類のものをn個A1, A2, . . . , An (n ≧ 0)任意に用
意してそれらを順にA1 A2 . . .Anと並べたものをいう。長さ0の並びを(Aの)“空列”という。
b) をBで区切って並べたもの “AをBで区切って並べたもの”とは,Aが示す種類のものをn+1個
A0, A1, A2, . . . , An (n ≧ 0)任意に用意し,更に,Bが示す種類のものをn個B1, B2, . . . ,Bn任意に用意し
て,それらを順にA0 B1 A1 B2 . . .Bn Anと並べたものをいう。

5.2 構文規則

5.2.1 総則

  この規格では,一連の生成規則(5.2.2参照),及び構文に対する自然言語で書かれた制約によって,Ruby
言語の構文規則を規定する。構文規則は,必要とする細分箇条の中に“構文規則”という見出しを設けそ
の下に置く。

――――― [JIS X 3017 pdf 10] ―――――

次のページ PDF 11

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

  • ISO/IEC 30170:2012(IDT)

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