当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。