如何测试两个列表是否相等?

How do I test if two lists are equal?

提问人:congusbongus 提问时间:10/20/2022 更新时间:10/21/2022 访问量:33

问:

var a=[1,2,3]
var b=[1,2,3]
var c=[1,2,4]
System.print(a==b)
System.print(a==c)

如何检查两个列表是否相等?我尝试了相等运算符,但这不起作用;它打印和==falsefalse

列出 相等 鹪鹩

评论


答:

0赞 congusbongus 10/21/2022 #1

wren 中没有内置的运算符或算法用于列表相等 - 您必须单独检查元素。

此处提供了一个示例算法:https://github.com/minirop/wren-helpers/blob/master/algorithms/algorithm.wren#L6-L17

    static equal(list1, list2) {
        if (list1.count != list2.count) {
            return false
        }
        
        for (i in 0...list1.count) {
            if (list1[i] != list2[i]) {
                return false
            }
        }
        return true
    }

关于是否添加对相等列表函数的支持,有一个公开的讨论:这里 https://github.com/wren-lang/wren/issues/606