我正在使用 Sourcery 和 Stencil 做一些代码生成工作。
我正在尝试向我的所有枚举添加一个扩展,该扩展具有一个返回枚举的随机案例的方法。所以,就我而言,我需要一种访问随机数组元素的方法。
我知道我们可以使用以下方法之一进行数组查找:(第一个、最后一个或按索引),但我找不到访问随机元素的方法。
这是我要实现的目标的示例:
{% for type in types.enums %}
extension {{ type.name }} {
static func random() -> {{ type.name }} {
let index = Int.random(in: 0..<{{ type.cases.count }})
return .{{ type.cases.index.name }}
}
}
{% endfor %}
显然,前面的代码片段不起作用。我只是添加它作为表达我意图的一种方式。
有人对此有任何想法吗?