File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed
Expand file tree Collapse file tree 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 {
1111 return ListType
1212}
1313
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+
1423func (t List ) M__len__ () Object {
1524 return Int (len (t ))
1625}
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