@@ -13,11 +13,11 @@ type Slice struct {
13
13
Step Object
14
14
}
15
15
16
- var SliceType = NewType ("slice" , `slice(stop) -> slice object
16
+ var SliceType = NewTypeX ("slice" , `slice(stop) -> slice object
17
17
"slice(stop)
18
18
slice(start, stop[, step])
19
19
20
- Create a slice object. This is used for extended slicing (e.g. a[0:10:2]).` )
20
+ Create a slice object. This is used for extended slicing (e.g. a[0:10:2]).` , SliceNew , nil )
21
21
22
22
// Type of this object
23
23
func (o * Slice ) Type () * Type {
@@ -151,4 +151,25 @@ func (r *Slice) GetIndices(length int) (start, stop, step, slicelength int, err
151
151
return
152
152
}
153
153
154
+ func init () {
155
+ SliceType .Dict ["start" ] = & Property {
156
+ Fget : func (self Object ) (Object , error ) {
157
+ selfSlice := self .(* Slice )
158
+ return selfSlice .Start , nil
159
+ },
160
+ }
161
+ SliceType .Dict ["stop" ] = & Property {
162
+ Fget : func (self Object ) (Object , error ) {
163
+ selfSlice := self .(* Slice )
164
+ return selfSlice .Stop , nil
165
+ },
166
+ }
167
+ SliceType .Dict ["step" ] = & Property {
168
+ Fget : func (self Object ) (Object , error ) {
169
+ selfSlice := self .(* Slice )
170
+ return selfSlice .Step , nil
171
+ },
172
+ }
173
+ }
174
+
154
175
// Check interface is satisfied
0 commit comments