るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.115秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:sexp[x]

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method new
  4. irb/input-method gets
  5. matrix -

ライブラリ

クラス

検索結果

Ripper.sexp(src, filename = '-', lineno = 1) -> object (21325.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

...
R
uby プログラム str を解析して S 式のツリーにして返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno...
...src の開始行番号を指定します。省略すると 1 になります。

実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

//emlist[例][ruby]{
r
equire 'ripper'
r
equire 'pp'

pp Ripper.sexp("def m(a) nil end")
# => [:program,
#...
...dent, "m", [1, 4]],
# [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil]],
# [:bodystmt, @kw, "nil", [1, 9]], nil, nil, nil]]]]
//}

パーサイベントは以下のような形式になります。

[:イベント名, ...]

例:

[:program, ...]

スキャナイベン...

Ripper.sexp_raw(src, filename = '-', lineno = 1) -> object (12325.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

...
R
uby プログラム str を解析して S 式のツリーにして返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "-" になります。

@param lineno...
...src の開始行番号を指定します。省略すると 1 になります。

実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

//emlist[例][ruby]{
r
equire 'ripper'
r
equire 'pp'

pp Ripper.sexp_raw("def m(a) nil end")
# => [:program,
#...
...paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]],
# [:bodystmt,
# [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]],
# nil,
# nil,
# nil]]]]
//}

R
ipper.sexp_raw は Ripper.sexp とは異なり解析結果を加工しません。

@see Ripper.s...