Wind
e281c03403
generate: switch the position of <initial> and <closure>, so the closure can have default parameters ( #13393 )
...
# Description
Close : #12083
Close : #12084
# User-Facing Changes
It's a breaking change because we have switched the position of
`<initial>` and `<closure>`, after the change, initial value will be
optional. So it's possible to do something like this:
```nushell
> let f = {|fib = [0, 1]| {out: $fib.0, next: [$fib.1, ($fib.0 + $fib.1)]} }
> generate $f | first 5
╭───┬───╮
│ 0 │ 0 │
│ 1 │ 1 │
│ 2 │ 1 │
│ 3 │ 2 │
│ 4 │ 3 │
╰───┴───╯
```
It will also raise error if user don't give initial value, and the
closure don't have default parameter.
```nushell
❯ let f = {|fib| {out: $fib.0, next: [$fib.1, ($fib.0 + $fib.1)]} }
❯ generate $f
Error: × The initial value is missing
╭─[entry #5:1:1]
1 │ generate $f
· ────┬───
· ╰── Missing intial value
╰────
help: Provide <initial> value in generate, or assigning default value to closure parameter
```
# Tests + Formatting
Added some test cases.
---------
Co-authored-by: Stefan Holderbach <sholderbach@users.noreply.github.com>
2024-07-19 00:22:28 -07:00
..
2023-12-07 05:46:37 +08:00
2024-05-20 00:35:32 +00:00
2024-07-05 21:10:41 +00:00
2024-07-12 02:43:10 +00:00
2024-02-20 11:08:49 -06:00
2024-04-10 13:31:29 +00:00
2024-05-04 15:56:16 +03:00
2024-03-20 22:14:31 +01:00
2024-05-04 00:53:15 +00:00
2024-07-01 12:34:19 -07:00
2024-05-26 20:23:52 +03:00
2024-02-15 06:55:21 +08:00
2022-11-22 16:58:11 -08:00
2023-11-17 06:49:19 +08:00
2024-05-20 00:35:32 +00:00
2024-06-18 07:19:13 -05:00
2024-05-20 00:35:32 +00:00
2024-01-31 16:52:23 -06:00
2024-05-04 00:53:15 +00:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2023-04-07 14:09:55 -07:00
2024-07-19 00:21:02 -07:00
2024-06-22 07:41:29 -05:00
2024-07-16 07:16:26 -05:00
2024-07-16 03:49:00 +00:00
2023-11-29 23:21:34 +01:00
2024-05-23 02:05:27 +00:00
2023-09-25 08:00:59 -05:00
2023-09-25 08:00:59 -05:00
2023-04-07 14:09:55 -07:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-07-16 03:54:24 +00:00
2024-06-18 07:19:13 -05:00
2024-05-17 00:03:13 +00:00
2023-11-09 13:51:46 +01:00
2024-05-04 00:53:15 +00:00
2024-07-19 00:21:02 -07:00
2023-09-13 06:35:01 +12:00
2023-04-07 14:09:55 -07:00
2024-06-18 21:37:24 -07:00
2024-05-04 00:53:15 +00:00
2024-04-10 06:27:46 +08:00
2023-05-17 18:55:26 -05:00
2023-05-17 18:55:26 -05:00
2024-03-26 17:50:36 +01:00
2024-06-27 09:46:10 -05:00
2024-05-20 00:35:32 +00:00
2023-11-29 23:21:34 +01:00
2023-09-13 06:35:01 +12:00
2024-06-09 12:15:53 +03:00
2024-07-19 00:22:28 -07:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-04-26 06:33:00 -05:00
2024-04-16 21:52:21 +02:00
2023-07-21 17:32:37 +02:00
2024-05-04 00:53:15 +00:00
2023-11-29 23:21:34 +01:00
2024-03-08 02:18:26 -05:00
2024-05-03 08:36:10 +08:00
2023-05-22 13:54:04 -05:00
2024-04-10 06:27:46 +08:00
2023-07-23 20:14:51 +02:00
2024-06-10 10:43:17 +08:00
2024-02-27 15:05:26 +00:00
2023-05-17 18:55:26 -05:00
2024-05-20 00:35:32 +00:00
2024-06-22 07:41:29 -05:00
2024-05-02 09:36:37 -04:00
2023-08-09 14:12:58 +02:00
2023-09-13 06:35:01 +12:00
2024-05-06 14:01:32 +08:00
2024-02-08 07:22:42 +08:00
2023-11-29 23:21:34 +01:00
2023-11-17 19:30:53 -06:00
2024-07-19 04:16:09 +00:00
2024-05-02 09:36:37 -04:00
2024-05-04 00:53:15 +00:00
2024-05-20 17:22:08 +00:00
2023-07-21 17:32:37 +02:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2023-07-17 18:43:51 +02:00
2024-05-04 00:53:15 +00:00
2024-07-17 16:02:42 -05:00
2024-04-16 19:08:58 +08:00
2024-02-15 07:49:48 -06:00
2023-11-29 23:21:34 +01:00
2024-04-10 06:27:46 +08:00
2023-07-17 18:43:51 +02:00
2024-07-12 02:43:10 +00:00
2023-07-21 17:32:37 +02:00
2024-02-03 13:23:16 +02:00
2024-07-16 07:16:26 -05:00
2024-05-17 18:46:03 +02:00
2024-07-13 16:54:34 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2024-03-20 22:14:31 +01:00
2023-07-21 17:32:37 +02:00
2024-07-12 02:43:10 +00:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-07-16 16:21:42 -05:00
2024-02-28 17:08:31 -06:00
2023-11-21 20:48:39 -06:00
2022-12-22 16:38:07 -08:00
2024-05-26 20:24:00 +03:00
2023-04-28 13:25:44 +02:00
2024-04-26 16:35:08 +00:00
2024-07-12 02:43:10 +00:00
2024-02-17 20:04:59 +01:00
2024-04-04 14:23:10 +02:00
2024-03-25 16:51:50 -05:00
2023-11-29 23:21:34 +01:00
2023-11-29 23:21:34 +01:00
2024-05-03 08:36:10 +08:00
2024-05-03 08:36:10 +08:00
2024-07-12 02:43:10 +00:00
2024-03-11 19:46:04 +01:00
2023-07-20 19:10:53 -05:00
2023-09-13 06:35:01 +12:00
2024-07-19 04:16:09 +00:00
2024-04-16 19:08:58 +08:00
2023-11-29 23:21:34 +01:00
2024-05-04 00:53:15 +00:00