本文简要介绍ruby语言中 Ripper.lex
的用法。
用法
lex(src, filename = '-', lineno = 1, **kw)
标记 Ruby 程序并返回一个数组,其格式类似于 [[lineno, column], type, token, state]
。 filename
参数大多被忽略。默认情况下,此方法不处理 src
中的语法错误,使用 raise_errors
关键字来引发 SyntaxError
中的错误 src
。
require 'ripper' require 'pp' pp Ripper.lex("def m(a) nil end") #=> [[[1, 0], :on_kw, "def", FNAME ], [[1, 3], :on_sp, " ", FNAME ], [[1, 4], :on_ident, "m", ENDFN ], [[1, 5], :on_lparen, "(", BEG|LABEL], [[1, 6], :on_ident, "a", ARG ], [[1, 7], :on_rparen, ")", ENDFN ], [[1, 8], :on_sp, " ", BEG ], [[1, 9], :on_kw, "nil", END ], [[1, 12], :on_sp, " ", END ], [[1, 13], :on_kw, "end", END ]]
相关用法
- Ruby Ripper.sexp用法及代码示例
- Ruby Ripper.slice用法及代码示例
- Ruby Ripper.tokenize用法及代码示例
- Ruby Ripper.sexp_raw用法及代码示例
- 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.lex。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。