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)
|
rightInt, _ := rightValue.(int64)
|
||||||
v = leftInt + rightInt
|
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 leftList, rightList *ListType
|
||||||
var ok bool
|
leftList, _ = leftValue.(*ListType)
|
||||||
if leftList, ok = leftValue.(*ListType); !ok {
|
rightList, _ = rightValue.(*ListType)
|
||||||
leftList = &ListType{leftValue}
|
|
||||||
}
|
|
||||||
if rightList, ok = rightValue.(*ListType); !ok {
|
|
||||||
rightList = &ListType{rightValue}
|
|
||||||
}
|
|
||||||
sumList := make(ListType, 0, len(*leftList)+len(*rightList))
|
sumList := make(ListType, 0, len(*leftList)+len(*rightList))
|
||||||
for _, item := range *leftList {
|
for _, item := range *leftList {
|
||||||
sumList = append(sumList, item)
|
sumList = append(sumList, item)
|
||||||
|
Loading…
Reference in New Issue
Block a user