sexp_raw(src, filename = '-', lineno = 1) -> object
[permalink][rdoc][edit] [added by ripper/sexp]-
Ruby プログラム str を解析して S 式のツリーにして返します。
- [PARAM] src:
- Ruby プログラムを文字列か IO オブジェクトで指定します。
- [PARAM] filename:
- src のファイル名を文字列で指定します。省略すると "-" になります。
- [PARAM] lineno:
- src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
require 'ripper' require 'pp' pp Ripper.sexp_raw("def m(a) nil end") # => [:program, # [:stmts_add, # [:stmts_new], # [:def, # [:@ident, "m", [1, 4]], # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]], # [:bodystmt, # [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]], # nil, # nil, # nil]]]]
Ripper.sexp_raw は Ripper.sexp とは異なり解析結果を加工しません。
[SEE_ALSO] Ripper.sexp