JanetDocsSourcePlaygroundI'm feeling luckyCommunityGitHub sign in

tuple/slice

core-api


    cfunction
    src/core/tuple.c on line 66, column 1

    (tuple/slice arrtup [,start=0 [,end=(length arrtup)]])

    Take a sub-sequence of an array or tuple from index `start` 
    inclusive to index `end` exclusive. If `start` or `end` are not 
    provided, they default to 0 and the length of `arrtup`, 
    respectively. `start` and `end` can also be negative to indicate 
    indexing from the end of the input. Note that if `start` is 
    negative it is exclusive, and if `end` is negative it is inclusive, 
    to allow a full negative slice range. Returns the new tuple.


1 exampleSign in to add an example
Loading...
(tuple/slice [:a :b :c :d])  # => (:a :b :c :d)

(tuple/slice [:a :b :c :d] 0)  # => (:a :b :c :d)
(tuple/slice [:a :b :c :d] 1)  # => (:b :c :d)
(tuple/slice [:a :b :c :d] 3)  # => (:d)
(tuple/slice [:a :b :c :d] 4)  # => ()
(tuple/slice [:a :b :c :d] 5)  # error: index out of range

(tuple/slice [:a :b :c :d] -1)  # => ()
(tuple/slice [:a :b :c :d] -2)  # => (:d)
(tuple/slice [:a :b :c :d] -4)  # => (:b :c :d)
(tuple/slice [:a :b :c :d] -5)  # => (:a :b :c :d)
(tuple/slice [:a :b :c :d] -6)  # error: index out of range

(tuple/slice [:a :b :c :d] 0 0)  # => ()
(tuple/slice [:a :b :c :d] 0 1)  # => (:a)
(tuple/slice [:a :b :c :d] 0 4)  # => (:a :b :c :d)

(tuple/slice [:a :b :c :d] -1 -1)  # => ()
(tuple/slice [:a :b :c :d] -2 -1)  # => (:d)
(tuple/slice [:a :b :c :d] -5 -1)  # => (:a :b :c :d)

(tuple/slice [:a :b :c :d] 1 0)  # => ()
(tuple/slice [:a :b :c :d] 4 0)  # => ()
(tuple/slice [:a :b :c :d] -1 -2)  # => ()
(tuple/slice [:a :b :c :d] -1 -5)  # => ()
cellularmitosisPlayground