operator-sum.go: adding item to a list is no more allowed. The sum operator '+' now ca only join two list.
This commit is contained in:
parent
6c14c07d66
commit
9967918418
@ -38,15 +38,28 @@ func evalPlus(ctx ExprContext, self *term) (v any, err error) {
|
||||
rightInt, _ := rightValue.(int64)
|
||||
v = leftInt + rightInt
|
||||
}
|
||||
} else if IsList(leftValue) || IsList(rightValue) {
|
||||
// } else if IsList(leftValue) || IsList(rightValue) {
|
||||
// var leftList, rightList *ListType
|
||||
// var ok bool
|
||||
// if leftList, ok = leftValue.(*ListType); !ok {
|
||||
// leftList = &ListType{leftValue}
|
||||
// }
|
||||
// if rightList, ok = rightValue.(*ListType); !ok {
|
||||
// rightList = &ListType{rightValue}
|
||||
// }
|
||||
// sumList := make(ListType, 0, len(*leftList)+len(*rightList))
|
||||
// for _, item := range *leftList {
|
||||
// sumList = append(sumList, item)
|
||||
// }
|
||||
// for _, item := range *rightList {
|
||||
// sumList = append(sumList, item)
|
||||
// }
|
||||
// v = &sumList
|
||||
} else if IsList(leftValue) && IsList(rightValue) {
|
||||
var leftList, rightList *ListType
|
||||
var ok bool
|
||||
if leftList, ok = leftValue.(*ListType); !ok {
|
||||
leftList = &ListType{leftValue}
|
||||
}
|
||||
if rightList, ok = rightValue.(*ListType); !ok {
|
||||
rightList = &ListType{rightValue}
|
||||
}
|
||||
leftList, _ = leftValue.(*ListType)
|
||||
rightList, _ = rightValue.(*ListType)
|
||||
|
||||
sumList := make(ListType, 0, len(*leftList)+len(*rightList))
|
||||
for _, item := range *leftList {
|
||||
sumList = append(sumList, item)
|
||||
|
Loading…
Reference in New Issue
Block a user