Add vector-empty? (#2695)
* Add vector-empty? * Add tests for vector-empty?
This commit is contained in:
parent
f6b14a7bc1
commit
68621c3ee1
|
@ -30,6 +30,9 @@ a number between the @litchar{#} and
|
|||
|
||||
Returns @racket[#t] if @racket[v] is a vector, @racket[#f] otherwise.}
|
||||
|
||||
@defproc[(vector-empty? [v vector?]) boolean?]{
|
||||
|
||||
Returns @racket[#t] if @racket[v] is empty (i.e. its length is 0), @racket[#f] otherwise.}
|
||||
|
||||
@defproc[(make-vector [size exact-nonnegative-integer?]
|
||||
[v any/c 0]) vector?]{
|
||||
|
|
|
@ -61,6 +61,12 @@
|
|||
(err/rt-test (vector-fill! '(1 2 3) 0))
|
||||
|
||||
|
||||
;; ---------- vector-empty? ----------
|
||||
(test #f vector-empty? '#(a))
|
||||
(test #f vector-empty? '#(()))
|
||||
(test #f vector-empty? '#(#()))
|
||||
(test #t vector-empty? '#())
|
||||
|
||||
|
||||
;; ---------- vector-take/drop[-right] ----------
|
||||
(let ()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#lang racket/base
|
||||
|
||||
(provide vector-set*! vector-copy vector-map vector-map! vector-append
|
||||
(provide vector-empty? vector-set*! vector-copy
|
||||
vector-map vector-map! vector-append
|
||||
vector-take vector-drop vector-split-at
|
||||
vector-take-right vector-drop-right vector-split-at-right
|
||||
vector-filter vector-filter-not
|
||||
|
@ -11,7 +12,12 @@
|
|||
(for-syntax racket/base)
|
||||
(rename-in (except-in "private/sort.rkt" sort)
|
||||
[vector-sort! raw-vector-sort!]
|
||||
[vector-sort raw-vector-sort]))
|
||||
[vector-sort raw-vector-sort]))
|
||||
|
||||
(define (vector-empty? v)
|
||||
(unless (vector? v)
|
||||
(raise-argument-error 'vector-empty? "vector?" v))
|
||||
(zero? (vector-length v)))
|
||||
|
||||
(define (vector-set*! v . pairs)
|
||||
(unless (even? (length pairs))
|
||||
|
|
Loading…
Reference in New Issue
Block a user