如何在 Xtend 2 中动态初始化一个变量
How to initialize a variable dynamically in Xtend 2
这是我在 Xtend 中写的 class:
def getEntityList(String indct, String criterion) {
var entities
Switch(indct){
case "PAR": entities = obj.getParamList.filter[definition.contains(criterion)]
case "REF": entities = obj.getRefList.filter[definition.contains(criterion)]
default: entities = null
}
return entities
}
与上面的代码一样,entities
是一个原始列表类型,我试图根据条件对其进行初始化。根据条件,实体列表将具有参数或引用。
我认为这不像 Perl 那样直接,因为 Xtend 是一种静态类型的语言。
如何在 Xtend 2 中实现上述目标?
var entities = switch(indct) {
case 'PAR': obj.getParamList.filter[definition.contains(criterion)]
case 'REF': obj.getRefList.filter[definition.contains(criterion)]
}
entities
现在的类型是 List<? extends "common super type of param and ref">
。这就是你要的吗?
这是我在 Xtend 中写的 class:
def getEntityList(String indct, String criterion) {
var entities
Switch(indct){
case "PAR": entities = obj.getParamList.filter[definition.contains(criterion)]
case "REF": entities = obj.getRefList.filter[definition.contains(criterion)]
default: entities = null
}
return entities
}
与上面的代码一样,entities
是一个原始列表类型,我试图根据条件对其进行初始化。根据条件,实体列表将具有参数或引用。
我认为这不像 Perl 那样直接,因为 Xtend 是一种静态类型的语言。
如何在 Xtend 2 中实现上述目标?
var entities = switch(indct) {
case 'PAR': obj.getParamList.filter[definition.contains(criterion)]
case 'REF': obj.getRefList.filter[definition.contains(criterion)]
}
entities
现在的类型是 List<? extends "common super type of param and ref">
。这就是你要的吗?