【发布时间】:2020-11-05 16:10:57
【问题描述】:
无法弄清楚如何匹配枚举选项的节点模式。
我要匹配的代码,具有前缀的枚举:true(或作用域:true 用于更高版本):
enum bla: { active: 0, not_active: 1 }, _prefix:true
将得到节点为:
ruby-parse -e 'enum bla: { active: 0, not_active: 1 }, _prefix:true'
(send nil :enum
(hash
(pair
(sym :bla)
(hash
(pair
(sym :active)
(int 0))
(pair
(sym :not_active)
(int 1))))
(pair
(sym :_prefix)
(true))))
我的模式:
'(send nil? :enum (hash (pair (sym {:_prefix :true}))))'
尝试了一堆没有 sym 和 nil/_ 的版本。
我在这个匹配中做错了什么?是否需要跳过前缀节点之前的节点?
【问题讨论】:
标签: ruby-on-rails rubocop