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


Ruby Ripper.sexp用法及代碼示例

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

用法

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

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

require '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, nil, nil]],
        [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]]

相關用法


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