本文简要介绍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 Ripper.sexp_raw用法及代码示例
- Ruby Ripper.slice用法及代码示例
- Ruby Ripper.tokenize用法及代码示例
- Ruby Ripper.lex用法及代码示例
- Ruby Ripper类用法及代码示例
- Ruby RingServer类用法及代码示例
- Ruby RingFinger类用法及代码示例
- Ruby RingServer.new用法及代码示例
- Ruby Range.end用法及代码示例
- Ruby Regexp named_captures()用法及代码示例
- Ruby Ractor.receive_if用法及代码示例
- Ruby Range new()用法及代码示例
- Ruby Rational.inspect用法及代码示例
- Ruby Random.bytes用法及代码示例
- Ruby Random hex()用法及代码示例
- Ruby RFC2396_Parser.parse用法及代码示例
- Ruby Range.size用法及代码示例
- Ruby Rational.rational <=>用法及代码示例
- Ruby Recorder类用法及代码示例
- Ruby Ruby.parse_method_parameters用法及代码示例
- Ruby RFC2396_Parser.new用法及代码示例
- Ruby Regexp to_s()用法及代码示例
- Ruby Regexp.eql?用法及代码示例
- Ruby Row.delete用法及代码示例
- Ruby Rational to_i()用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Ripper.sexp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。