Ruby 3.4 リファレンスマニュアル

class RubyVM

[edit]

要約

Ruby の 内部情報へのアクセス手段を提供するクラスです。デバッグ用、プロトタイピング用、研究用などのとても限定された用途向けです。一般ユーザーは使うべきではありません。

目次

特異メソッド
定数

特異メソッド

keep_script_lines -> boolRuby 3.1 から[permalink][rdoc][edit]
keep_script_lines=(bool)

読み込んだスクリプトのソースコードの行を記録するかどうかを取得、設定します。

有効にすると、以降にロードされたスクリプトのソースコードの行が記録され、 RubyVM::InstructionSequence#script_lines などから参照できるようになります。

このメソッドは Ruby 内部での利用、デバッグ、研究のための API です。それ以外の目的で使うべきではありません。将来のバージョンとの互換性も保証されません。

[PARAM] bool:
記録を有効にするかどうかを true か false で指定します。
例
p RubyVM.keep_script_lines # => false
RubyVM.keep_script_lines = true
p RubyVM.keep_script_lines # => true
RubyVM.keep_script_lines = false
stat -> HashRuby 3.0 から[permalink][rdoc][edit]
stat(hsh) -> Hash
stat(sym) -> Integer

VM 内部のキャッシュなどに関する統計情報を返します。

引数なしで呼び出すと、統計名のシンボルをキーとするハッシュを返します。ハッシュを渡すとその内容が統計情報で上書きされ、そのハッシュを返します (プローブ効果を避けるために使用します)。シンボルを渡すと、その統計名の値のみを返します。

[PARAM] hsh:
結果を格納するハッシュを指定します。内容は上書きされます。
[PARAM] sym:
取得したい統計名をシンボルで指定します。
[EXCEPTION] ArgumentError:
未知の統計名をシンボルで指定した場合に発生します。
例
p RubyVM.stat
# => {constant_cache_invalidations: 2, constant_cache_misses: 14,
#     global_cvar_state: 27, next_shape_id: 225, shape_cache_size: 1024}
p RubyVM.stat(:next_shape_id)
# => 225

含まれる統計名と値は処理系の実装の詳細であり、バージョンによって変わります。この値に依存すべきではありません。

定数

DEFAULT_PARAMS -> {Symbol => Integer}Ruby 2.0.0 から[permalink][rdoc][edit]

RubyVM のデフォルトのパラメータを返します。

[注意] この値は CRuby 固有のものです。変更しても RubyVM の動作には影響しません。また、仕様は変更される場合があるため、この値に依存すべきではありません。

INSTRUCTION_NAMES -> [String]Ruby 1.9.3 から[permalink][rdoc][edit]

RubyVM の命令シーケンスの名前の一覧を返します。

[SEE_ALSO] RubyVM::InstructionSequence

OPTS -> [String]Ruby 1.9.3 から[permalink][rdoc][edit]

RubyVM のビルドオプションの一覧を返します。