Splits by a single one-based position or a single element name.
Details
split_at(x, at, pull_index = FALSE) is a convenience wrapper around
split_around_by_predicate() using positional scanning.
split_at(x, at, pull_index = TRUE) is the two-way variant using
split_by_predicate().
Examples
x <- flexseq("a", "b", "c", "d")
split_at(x, 3)
#> $left
#> Unnamed flexseq with 2 elements.
#>
#> Elements:
#>
#> [[1]]
#> [1] "a"
#>
#> [[2]]
#> [1] "b"
#>
#>
#> $value
#> [1] "c"
#>
#> $right
#> Unnamed flexseq with 1 element.
#>
#> Elements:
#>
#> [[1]]
#> [1] "d"
#>
#>
split_at(x, 3, pull_index = TRUE)
#> $left
#> Unnamed flexseq with 2 elements.
#>
#> Elements:
#>
#> [[1]]
#> [1] "a"
#>
#> [[2]]
#> [1] "b"
#>
#>
#> $right
#> Unnamed flexseq with 2 elements.
#>
#> Elements:
#>
#> [[1]]
#> [1] "c"
#>
#> [[2]]
#> [1] "d"
#>
#>
n <- flexseq(a = 1, b = 2, c = 3)
split_at(n, "b")
#> $left
#> Named flexseq with 1 element.
#>
#> Elements:
#>
#> $a
#> [1] 1
#>
#>
#> $value
#> [1] 2
#> attr(,"ft_name")
#> [1] "b"
#>
#> $right
#> Named flexseq with 1 element.
#>
#> Elements:
#>
#> $c
#> [1] 3
#>
#>