File tree 2 files changed +36
-0
lines changed
2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,15 @@ func (o List) Type() *Type {
11
11
return ListType
12
12
}
13
13
14
+ // Copy a list object
15
+ func (l List ) Copy () List {
16
+ newL := make (List , len (l ))
17
+ for i := range l {
18
+ newL [i ] = l [i ]
19
+ }
20
+ return newL
21
+ }
22
+
14
23
func (t List ) M__len__ () Object {
15
24
return Int (len (t ))
16
25
}
Original file line number Diff line number Diff line change
1
+ // Sequence operations
2
+
3
+ package py
4
+
5
+ // Converts a sequence object v into a Tuple
6
+ func SequenceTuple (v Object ) Tuple {
7
+ // FIXME need to support iterable objects etc!
8
+ switch x := v .(type ) {
9
+ case Tuple :
10
+ return x
11
+ case List :
12
+ return Tuple (x .Copy ())
13
+ }
14
+ panic ("SequenceTuple not fully implemented" )
15
+ }
16
+
17
+ // Converts a sequence object v into a List
18
+ func SequenceList (v Object ) List {
19
+ // FIXME need to support iterable objects etc!
20
+ switch x := v .(type ) {
21
+ case Tuple :
22
+ return List (x ).Copy ()
23
+ case List :
24
+ return x .Copy ()
25
+ }
26
+ panic ("SequenceList not fully implemented" )
27
+ }
You can’t perform that action at this time.
0 commit comments