File: take-doc.m2

package info (click to toggle)
macaulay2 1.24.11%2Bds-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 171,648 kB
  • sloc: cpp: 107,850; ansic: 16,307; javascript: 4,188; makefile: 3,947; lisp: 682; yacc: 604; sh: 476; xml: 177; perl: 114; lex: 65; python: 33
file content (56 lines) | stat: -rw-r--r-- 1,618 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
-- Status: rewritten July 2018
-- Author: Lily Silverstein

doc ///
 Key
  take
  (take, BasicList, ZZ)
  (take, BasicList, List)
  (take, Thing, ZZ)
  (take, Thing, List)
 Headline
  Take some elements from a list or sequence.
 Usage
  take(L, i)
  take(L, {j,k})
  take(x, i)
 Inputs
  L: BasicList
  x: Thing
  i: ZZ
  j: ZZ
  k: ZZ
 Outputs
  L2: BasicList
   the list or sequence containing the first {\tt i} elements of {\tt L},
   (if {\tt i} positive), or the last {\tt i} elements of {\tt L} (if {\tt i} negative), or, if given the
   pair {\tt j,k}, the list or sequence containing the elements of {\tt L} with indices {\tt j} through {\tt k}
 Description
  Example
   take({a,b,c,d,e,f,g}, 3)
   take({a,b,c,d,e,f,g}, -3)
   take({a,b,c,d,e,f,g}, {1,3})
   take({a,b,c,d,e,f,g}, {2,2})    
  Text
   The pair $\{j,k\}$ must be given with both entries non-negative, and $j\le k$. Otherwise an empty list is returned.
  Example
   take({a,b,c,d,e,f,g}, {3,1})
   take({a,b,c,d,e,f,g}, {4,-1})
  Text
   If @TT "x"@ is any object belonging to a class with the @TO iterator@ method
   installed, then a list containing the first $i$ (or the $(j+1)$th
   through $(k+1)$th) objects returned when @TO next@ is called on the output
   of @M2CODE "iterator x"@ is returned.  If fewer than $i$ (or $k+1$) objects
   are returned before the @TO StopIteration@ symbol is encountered, then the
   list will have shorter than expected length.
  Example
   take("Hello, world!", 5)
   take("Hello, world!", 20)
   take("Hello, world!", {7, 11})
 SeeAlso
  drop
  select
  position
  positions
  "lists and sequences"
///