1
1
突变 收藏 您正在对其进行迭代。这不可能 工作(在我看来,不应该。在这种情况下,Ruby应该引发异常,而不是默默地允许不正确的行为。几乎所有其他命令式语言都是这样做的。) 这是我在保持你原有风格的同时所能想到的最好办法:
但是,您遇到的是一个解析问题,而这实际上应该由解析器来解决。一个简单的手摇解析器/状态机可能会比上面的代码多一点,但它确实是 所以 更具可读性。
我非常喜欢递归下降解析器,因为它们的结构几乎完全符合语法:只需一直解析元素,直到输入为空。什么是元素?嗯,这是一个颜色说明或一个停止词。什么是颜色规格?嗯,它要么是RGB颜色规范要么是十六进制颜色规范。什么是RGB颜色规范?嗯,它和Regexp匹配
像这样使用:
作为比较,这里有语法:
|
2
1
当你击中
|
3
0
这里有一个更好的解决方案
|
batman · 如何用特定模式grep特定行及其子网行? 2 年前 |
Jensen Holm · 在非常大的字符串中查找链接时遇到问题 2 年前 |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
user10717742 · 用java编写的自定义文件解析器需要改进 2 年前 |
Muhsin Muhammed · 向文件中的行添加引号和逗号 2 年前 |
Felkru · 添加字符串会在Javascript中返回空字符串 2 年前 |
Mustard Tiger · 熊猫解析文本列 2 年前 |