當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Ripper.sexp_raw用法及代碼示例

本文簡要介紹ruby語言中 Ripper.sexp_raw 的用法。

用法

sexp_raw(src, filename = '-', lineno = 1, raise_errors: false)
EXPERIMENTAL

解析 src 並創建 S-exp 樹。此方法主要供開發人員使用。 filename 參數大多被忽略。默認情況下,此方法不處理 src 中的語法錯誤,在這種情況下返回 nil。使用 raise_errors 關鍵字為 src 中的錯誤引發 SyntaxError

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]]]]

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Ripper.sexp_raw。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。