本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
