From ad65d2931db95658e5b74a552bb8a0855ea16510 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Sat, 1 Apr 2023 11:58:24 -0700 Subject: [PATCH] Clarify seq function --- content/en/functions/seq.md | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/content/en/functions/seq.md b/content/en/functions/seq.md index bd9befd86..75edf5d2d 100644 --- a/content/en/functions/seq.md +++ b/content/en/functions/seq.md @@ -1,6 +1,6 @@ --- title: seq -description: Creates a sequence of integers. +description: Returns a slice of integers. categories: [functions] menu: docs: @@ -10,32 +10,19 @@ signature: ["seq LAST", "seq FIRST LAST", "seq FIRST INCREMENT LAST"] relatedfuncs: [] --- -It's named and used in the model of [GNU's seq]. - -``` -3 → 1, 2, 3 -1 2 4 → 1, 3 --3 → -1, -2, -3 -1 4 → 1, 2, 3, 4 -1 -2 → 1, 0, -1, -2 +```go-html-template +{{ seq 2 }} → [1 2] +{{ seq 0 2 }} → [0 1 2] +{{ seq -2 2 }} → [-2 -1 0 1 2] +{{ seq -2 2 2 }} → [-2 0 2] ``` -## Example: `seq` with `range` and `after` - -You can use `seq` in combination with `range` and `after`. The following will return 19 elements: +Iterate over a sequence of integers: ```go-html-template -{{ range after 1 (seq 20) }} +{{ $product := 1 }} +{{ range seq 4 }} + {{ $product = mul $product . }} {{ end }} +{{ $product }} → 24 ``` - -However, when ranging with an index, the following may be less confusing in that `$indexStartingAt1` and `$num` will return `1,2,3 ... 20`: - -```go-html-template -{{ range $index, $num := seq 20 }} - {{ $indexStartingAt1 := add $index 1 }} -{{ end }} -``` - - -[GNU's seq]: https://www.gnu.org/software/coreutils/manual/html_node/seq-invocation.html#seq-invocation