File tree Expand file tree Collapse file tree 3 files changed +76
-32
lines changed
Expand file tree Collapse file tree 3 files changed +76
-32
lines changed Original file line number Diff line number Diff line change 66
77package py
88
9- import (
10- "strings"
11- )
12-
139// A python Range object
1410// FIXME one day support BigInts too!
1511type Range struct {
@@ -112,34 +108,6 @@ func (r *Range) M__str__() (Object, error) {
112108 return r .M__repr__ ()
113109}
114110
115- func (r * Range ) repr () (Object , error ) {
116- var b strings.Builder
117- b .WriteString ("range(" )
118- start , err := ReprAsString (r .Start )
119- if err != nil {
120- return nil , err
121- }
122- stop , err := ReprAsString (r .Stop )
123- if err != nil {
124- return nil , err
125- }
126- b .WriteString (start )
127- b .WriteString (", " )
128- b .WriteString (stop )
129-
130- if r .Step != 1 {
131- step , err := ReprAsString (r .Step )
132- if err != nil {
133- return nil , err
134- }
135- b .WriteString (", " )
136- b .WriteString (step )
137- }
138- b .WriteString (")" )
139-
140- return String (b .String ()), nil
141- }
142-
143111func (r * Range ) M__repr__ () (Object , error ) {
144112 return r .repr ()
145113}
Original file line number Diff line number Diff line change 1+ // Copyright 2018 The go-python Authors. All rights reserved.
2+ // Use of this source code is governed by a BSD-style
3+ // license that can be found in the LICENSE file.
4+
5+ // +build go1.10
6+ // Range object
7+
8+ package py
9+
10+ import "strings"
11+
12+ func (r * Range ) repr () (Object , error ) {
13+ var b strings.Builder
14+ b .WriteString ("range(" )
15+ start , err := ReprAsString (r .Start )
16+ if err != nil {
17+ return nil , err
18+ }
19+ stop , err := ReprAsString (r .Stop )
20+ if err != nil {
21+ return nil , err
22+ }
23+ b .WriteString (start )
24+ b .WriteString (", " )
25+ b .WriteString (stop )
26+
27+ if r .Step != 1 {
28+ step , err := ReprAsString (r .Step )
29+ if err != nil {
30+ return nil , err
31+ }
32+ b .WriteString (", " )
33+ b .WriteString (step )
34+ }
35+ b .WriteString (")" )
36+
37+ return String (b .String ()), nil
38+ }
Original file line number Diff line number Diff line change 1+ // Copyright 2018 The go-python Authors. All rights reserved.
2+ // Use of this source code is governed by a BSD-style
3+ // license that can be found in the LICENSE file.
4+
5+ // +build !go1.10
6+ // Range object
7+
8+ package py
9+
10+ import "bytes"
11+
12+ func (r * Range ) repr () (Object , error ) {
13+ var b bytes.Buffer
14+ b .WriteString ("range(" )
15+ start , err := ReprAsString (r .Start )
16+ if err != nil {
17+ return nil , err
18+ }
19+ stop , err := ReprAsString (r .Stop )
20+ if err != nil {
21+ return nil , err
22+ }
23+ b .WriteString (start )
24+ b .WriteString (", " )
25+ b .WriteString (stop )
26+
27+ if r .Step != 1 {
28+ step , err := ReprAsString (r .Step )
29+ if err != nil {
30+ return nil , err
31+ }
32+ b .WriteString (", " )
33+ b .WriteString (step )
34+ }
35+ b .WriteString (")" )
36+
37+ return String (b .String ()), nil
38+ }
You can’t perform that action at this time.
0 commit comments