【问题标题】:Tokenizing a string in Ruby?在 Ruby 中标记字符串?
【发布时间】:2017-02-19 20:25:51
【问题描述】:

我需要根据 Ruby 中的一些规则对字符串进行标记。

基本上,我需要将文件分组为适合变量名、关键字、整数或操作的部分。

例如,文件:

x:=5;如果 x > 5 则 x:=3;否则 x:=6;结束

将标记为:

variable name (x)
assignment operator (:=)
integer (5)
keyword (if)
keyword (;)
variable name (x)
relation operator (>) 
integer (5)
keyword (then)
variable name (x)
assignment operator (:=)
integer (3)
keyword (;)
keyword (else)
variable name (x)
assignment operator (:=)
integer (6)
keyword (;)
keyword (end)

我真的不明白如何以这种方式解析这个字符串。谁能指出我正确的方向?

一旦我知道如何标记字符串,我就可以使用它来制作实际的标记并解析它们。但首先我需要了解如何消化字符串。

谢谢!

【问题讨论】:

    标签: ruby parsing token


    【解决方案1】:

    首先,搜索所有已知的关键字和运算符。确定它们后,只应保留变量和整数。

    您可以通过尝试将标识符转换为整数来确定标识符是否为整数。 !!Integer(identifier) rescue false

    如果返回 false,您必须假定它是一个变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2011-11-28
      • 2014-07-26
      • 2011-05-31
      • 1970-01-01
      相关资源
      最近更新 更多