るりまサーチ

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

別のキーワード

  1. ripper/sexp sexp_raw
  2. ripper/sexp sexp
  3. ripper sexp_raw
  4. ripper sexp
  5. ripper ripper/sexp

ライブラリ

クラス

検索結果

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

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

...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 Ripper.sexp...

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

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

...e 'ripper'
require 'pp'

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

パーサイベントは以下のよう...
...ます。

[:@イベント名, トークン, 位置情報(行、桁の配列)]

例:

[:@ident, "m", [1, 4]]

また、Ripper.sexp は Ripper.sexp_raw とは異なり、読みやすさのため
に stmts_add や stmts_new のような _add、_new で終わるパーサイベントを
省略しま...
...す。_add で終わるパーサイベントはハンドラの引数が 0 個のものが
省略されます。詳しくは Ripper::PARSER_EVENTS を確認してください。

@see Ripper.sexp_raw...