compile_parsey(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequenceRuby 3.4 から[permalink][rdoc][edit]-
引数 source で指定した Ruby のソースコードを、旧来のパーサ(parse.y)でパースしてコンパイルし、 RubyVM::InstructionSequence オブジェクトを作成して返します。
Ruby 3.4 以降、RubyVM::InstructionSequence.compile は既定でパーサ Prism を使いますが、本メソッドは常に parse.y でパースします。
- [PARAM]
source: - Ruby のソースコードを表す文字列、または開いた File オブジェクトを指定します。
- [PARAM]
file: - ファイル名を文字列で指定します。
- [PARAM]
path: - 引数 file の絶対パスファイル名を文字列で指定します。
- [PARAM]
line: - 引数 source の 1 行目の行番号を指定します。
- [PARAM]
options: - コンパイル時のオプションを true、false、Hash オブジェクトのいずれかで指定します。詳細は RubyVM::InstructionSequence.compile_option= を参照してください。
iseq = RubyVM::InstructionSequence.compile_parsey("a = 1 + 2") p iseq.eval # => 3[SEE_ALSO] RubyVM::InstructionSequence.compile
- [PARAM]