Skip to content

Commit a39de11

Browse files
committed
tuple: implement __eq__ and __ne__
1 parent ff5d114 commit a39de11

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

‎py/tuple.go‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,35 @@ var _ I__iter__ = Tuple(nil)
106106
var_I__getitem__=Tuple(nil)
107107

108108
// var _ richComparison = Tuple(nil)
109+
110+
func (aTuple) M__eq__(otherObject) Object{
111+
b, ok:=other.(Tuple)
112+
if!ok{
113+
returnNotImplemented
114+
}
115+
iflen(a) !=len(b){
116+
returnFalse
117+
}
118+
fori:=rangea{
119+
ifEq(a[i], b[i]) ==False{
120+
returnFalse
121+
}
122+
}
123+
returnTrue
124+
}
125+
126+
func (aTuple) M__ne__(otherObject) Object{
127+
b, ok:=other.(Tuple)
128+
if!ok{
129+
returnNotImplemented
130+
}
131+
iflen(a) !=len(b){
132+
returnTrue
133+
}
134+
fori:=rangea{
135+
ifEq(a[i], b[i]) ==False{
136+
returnTrue
137+
}
138+
}
139+
returnFalse
140+
}

0 commit comments

Comments
(0)