16
16
17
17
``` wa
18
18
func main {
19
- for i := range 10 {
20
- println(Fibonacci(i))
21
- }
19
+ for i := range 10 {
20
+ println(Fibonacci(i))
21
+ }
22
22
}
23
23
24
24
// 1, 1, 2, 3, 5, ...
25
25
func Fibonacci(i: int) => int {
26
- if i >= 2 {
27
- return Fibonacci(i-1) + Fibonacci(i-2)
28
- }
29
- return 1
26
+ if i >= 2 {
27
+ return Fibonacci(i-1) + Fibonacci(i-2)
28
+ }
29
+ return 1
30
30
}
31
31
```
32
32
@@ -52,29 +52,29 @@ $ wa run fib.wa
52
52
53
53
``` wa
54
54
func Example {
55
- for i := range 10 {
56
- println(Fibonacci(i))
57
- }
58
-
59
- // Output:
60
- // 1
61
- // 1
62
- // 2
63
- // 3
64
- // 5
65
- // 8
66
- // 13
67
- // 21
68
- // 34
69
- // 55
55
+ for i := range 10 {
56
+ println(Fibonacci(i))
57
+ }
58
+
59
+ // Output:
60
+ // 1
61
+ // 1
62
+ // 2
63
+ // 3
64
+ // 5
65
+ // 8
66
+ // 13
67
+ // 21
68
+ // 34
69
+ // 55
70
70
}
71
71
72
72
// 1, 1, 2, 3, 5, ...
73
73
func Fibonacci(i: int) => int {
74
- if i >= 2 {
75
- return Fibonacci(i-1) + Fibonacci(i-2)
76
- }
77
- return 1
74
+ if i >= 2 {
75
+ return Fibonacci(i-1) + Fibonacci(i-2)
76
+ }
77
+ return 1
78
78
}
79
79
```
80
80
@@ -93,14 +93,10 @@ ok __main__ 97ms
93
93
94
94
``` wa
95
95
func ExampleFibonacci_invalid {
96
- println(Fibonacci(-1))
97
- println(Fibonacci(-2))
98
- println(Fibonacci(-3))
99
-
100
- // Output:
101
- // 0
102
- // 0
103
- // 0
96
+ println(Fibonacci(-1))
97
+
98
+ // Output:
99
+ // 0
104
100
}
105
101
```
106
102
@@ -109,7 +105,7 @@ func ExampleFibonacci_invalid {
109
105
```
110
106
$ wa test test_fib.wa
111
107
---- __main__.ExampleFibonacci_invalid
112
- expect = "0\n0\n0 ", got = "1\n1\n1 "
108
+ expect = "0", got = "1"
113
109
FAIL __main__ 90ms
114
110
```
115
111
@@ -126,13 +122,13 @@ ok __main__ 107ms
126
122
127
123
``` wa
128
124
func Fibonacci(i: int) => int {
129
- if i < 0 {
130
- return 0
131
- }
132
- if i >= 2 {
133
- return Fibonacci(i-1) + Fibonacci(i-2)
134
- }
135
- return 1
125
+ if i < 0 {
126
+ return 0
127
+ }
128
+ if i >= 2 {
129
+ return Fibonacci(i-1) + Fibonacci(i-2)
130
+ }
131
+ return 1
136
132
}
137
133
```
138
134
@@ -162,7 +158,7 @@ func assert(ok: bool, errMessage: string)
162
158
163
159
``` wa
164
160
func TestFibonacci {
165
- assert(Fibonacci(-1) == 1, "expect 0")
161
+ assert(Fibonacci(-1) == 1, "expect 0")
166
162
}
167
163
```
168
164
@@ -179,13 +175,13 @@ exit status 1
179
175
180
176
``` wa
181
177
func TestFibonacci {
182
- // assert(Fibonacci(-1) == 1, "expect 0")
178
+ // assert(Fibonacci(-1) == 1, "expect 0")
183
179
184
- assert(Fibonacci(0) == 1)
185
- assert(Fibonacci(1) == 1)
186
- assert(Fibonacci(2) == 2)
187
- assert(Fibonacci(3) == 3)
188
- assert(Fibonacci(4) == 5)
180
+ assert(Fibonacci(0) == 1)
181
+ assert(Fibonacci(1) == 1)
182
+ assert(Fibonacci(2) == 2)
183
+ assert(Fibonacci(3) == 3)
184
+ assert(Fibonacci(4) == 5)
189
185
}
190
186
```
191
187
@@ -195,21 +191,21 @@ func TestFibonacci {
195
191
196
192
``` wa
197
193
func FibonacciV2(i: int) => int {
198
- if i < 0 {
199
- panic("invalid")
200
- }
201
- return Fibonacci(i)
194
+ if i < 0 {
195
+ panic("invalid")
196
+ }
197
+ return Fibonacci(i)
202
198
}
203
199
```
204
200
205
201
要测试异常,必须通过` Example ` 示例测试:
206
202
207
203
``` wa
208
204
func ExampleFibonacciV2 {
209
- FibonacciPanic(-1)
205
+ FibonacciPanic(-1)
210
206
211
- // Output(panic):
212
- // invalid
207
+ // Output(panic):
208
+ // invalid
213
209
}
214
210
```
215
211
0 commit comments