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