我正在尝试学习树顶,并且正在从https://github.com/survival/lordbishop获取大部分代码来解析名称,并将以此构建。
我的结构有点不同,因为我是在 Rails 中构建它,而不是 ruby 命令行。
当我运行一个非常简单的解析时,我在一个空格上返回了一个解析错误(这应该是我语法中更简单的事情之一。我做错了什么?
在我的模型中,我的代码相当简单
需要“树顶”
需要“多语种”
需要'语法/名称'
班级名称
def self.parse(数据)
parser = FullNameParser.new
树 = parser.parse(数据)
如果tree.nil?
返回“在偏移量处解析错误:#{parser.index}”
结尾
结果哈希 = {}
tree.value.each 做 |node|
result_hash[node[0] = node[1].strip if node.is_a?(Array) && !node[1].blank?
结尾
返回result_hash
结尾
结尾
我已经将大部分语法剥离为只获取单词和空格
语法全名
规则词
[^\s]+ {
默认值
文本值
结尾
}
结尾
规则
[\s]+ {
默认值
“”
结尾
}
结尾
结尾
我正在尝试解析'john smith',我希望只取回单词和空格并从那里建立我的逻辑,但我什至被困在这个简单的水平上。有什么建议么??