take -package:base -package:containers -package:conduit
O(1) take n, applied to a ByteString
xs, returns the prefix of
xs of length
n,
or
xs itself if
n > length xs.
O(n/c) take n, applied to a ByteString
xs, returns the prefix of
xs of length
n,
or
xs itself if
n > length xs.
O(n) take n, applied to a ShortByteString
xs, returns the prefix of
xs of length
n,
or
xs itself if
n > length xs.
Note: copies the entire byte array
O(n) take n, applied to a
Text, returns
the prefix of the
Text of length
n, or the
Text
itself if
n is greater than the length of the Text.
O(n) take n, applied to a stream, returns the
prefix of the stream of length
n, or the stream itself if
n is greater than the length of the stream.
Properties
unstream . take n . stream = take n
O(n) take n, applied to a
Text, returns
the prefix of the
Text of length
n, or the
Text
itself if
n is greater than the length of the Text.
Consume exactly n bytes of input.
Consume exactly n characters of input.
Consume n bytes of input.
take n s returns the first n characters of
s. If s has less than n characters, then we
return the whole of s.
take n s returns the first n characters of
s. If s has less than n characters, then we
return the whole of s.
take n s returns the first n characters of
s. If s has less than n characters, then we
return the whole of s.
take n s returns the first n characters of
s. If s has less than n characters, then we
return the whole of s.
take n, applied to a list
xs, returns the
prefix of
xs of length
n, or
xs itself if
n >= length xs.
>>> take 5 "Hello World!"
"Hello"
>>> take 3 [1,2,3,4,5]
[1,2,3]
>>> take 3 [1,2]
[1,2]
>>> take 3 []
[]
>>> take (-1) [1,2]
[]
>>> take 0 [1,2]
[]
It is an instance of the more general
genericTake, in which
n may be of any integral type.
Take the first n byte of a bytearray
Take @n bytes from the current position in the stream
Take the first n byte of a bytearray
Take the given number of bytes, if available.
Since 0.3.0
(take n) only allows
n values to pass through
take 0 = return ()
take (m + n) = take m >> take n
take <infinity> = cat
take (min m n) = take m >-> take n
take n xs returns the first
n elements of
xs.
Make a list as long as another one
\(Shape xs) (List ys) -> Match.take xs ys == List.take (length xs) ys
take n, applied to a list
xs, returns the
prefix of
xs of length
n, or
xs itself if
n >= length xs.
It is an instance of the more general
genericTake, in which
n may be of any integral type.
Laziness
>>> take 0 undefined
[]
>>> take 2 (1 : 2 : undefined)
[1,2]
Examples
>>> take 5 "Hello World!"
"Hello"
>>> take 3 [1,2,3,4,5]
[1,2,3]
>>> take 3 [1,2]
[1,2]
>>> take 3 []
[]
>>> take (-1) [1,2]
[]
>>> take 0 [1,2]
[]
Wraps an
InputStream, producing a new
InputStream that
will produce at most
n items, subsequently yielding
end-of-stream forever.
Items pushed back to the returned
InputStream will be
propagated upstream, modifying the count of taken items accordingly.
Example:
ghci> is <- Streams.fromList [1..9::Int]
ghci> is' <- Streams.take 1 is
ghci> Streams.read is'
Just 1
ghci> Streams.read is'
Nothing
ghci> Streams.peek is
Just 2
ghci> Streams.unRead 11 is'
ghci> Streams.peek is
Just 11
ghci> Streams.peek is'
Just 11
ghci> Streams.read is'
Just 11
ghci> Streams.read is'
Nothing
ghci> Streams.read is
Just 2
ghci> Streams.toList is
[3,4,5,6,7,8,9]