我读过,Clojure reader 允许读取数值关键字,因为修改它将导致某些库出现破坏性变化,所以这似乎并不是关键字所期望的使用方式。但是,为什么不允许限定关键字名称部分为数值,既然数值关键字已经被使用/允许了?
用例
我一直在与Datomic进行建模,它鼓励命名空间化事物(实际上并不真正是个命名空间),因此我使用了枚举来处理美国的FIPS州代码,因为在处理州名时使用这些代码,我们不需要更多,即::state/01
这可以工作
(name :01)
=> "01"
但这不能
(name :state/01)
=> Invalid token: :state/01