File tree 3 files changed +76
-32
lines changed
3 files changed +76
-32
lines changed Original file line number Diff line number Diff line change 6
6
7
7
package py
8
8
9
- import (
10
- "strings"
11
- )
12
-
13
9
// A python Range object
14
10
// FIXME one day support BigInts too!
15
11
type Range struct {
@@ -112,34 +108,6 @@ func (r *Range) M__str__() (Object, error) {
112
108
return r .M__repr__ ()
113
109
}
114
110
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
-
143
111
func (r * Range ) M__repr__ () (Object , error ) {
144
112
return r .repr ()
145
113
}
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