在 TCL 中比较两个列表的正确方法是什么?
我是 TCL 的新手,我编写了以下代码:
set list1 {{1 2} 3 4}
set list2 {{1 2} 8 1}
if {[lindex $list1 0] == [lindex $list2 0]} { puts "They are equal!"}
但是当我打印子列表元素时,我看到它们是相等的,但是 if 语句没有捕获它。为什么?我应该如何纠正这种比较?
I am newbie to TCL and I have written the following code:
set list1 {{1 2} 3 4}
set list2 {{1 2} 8 1}
if {[lindex $list1 0] == [lindex $list2 0]} { puts "They are equal!"}
But when I print the sublist elements I see that they are equal, but the if statement does not catch it. Why? How I should right this comparision?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我会这样做:
I would do:
如果我要实现一个
lequal
过程,我会从这个开始:然后优化到这个:
If I were to implement an
lequal
proc, I'd start with this:And then optimize to this:
它们并不相等,并且您对此进行了正确的测试。确定你打印了正确的变量吗?
编辑:对我来说的行为。
They're not equal, and you test correctly for that. Sure you're printing the right variables?
EDIT: Behavior for me.