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


Ruby Ripper.lex用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 Ripper.lex。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。