迭代联合类型中的宏



有没有办法迭代宏中的联合类型中的类型?这是我的尝试:

alias MyType = Int32 | String
{% for type in MyType.union_types %}  #=> undefined method 'union_types' for TypeNode of type MyType (must be a union type)
  ...
{% end %}

我尝试使用TypeNode#union_types方法,但似乎根本不认为MyType是一个联合类型:

{% puts MyType.union? %} #=> false

看起来当前不可能在宏中使用复杂的别名类型。这是一个错误,请与您的示例碰撞水晶式/水晶#4301。

也许typeof方法将帮助您

alias MyType = Int32 | String
puts typeof(MyType) # => (Int32 | String):Class

在这里尝试

相关内容

  • 没有找到相关文章

最新更新