我创建了一个结构,它将显示酒店的楼层列表(例如楼层1,楼层2)以及每层楼空的房间数量。我创建了一个矢量,允许用户编辑房间是否为空#34;或者"完整"。我遇到的唯一问题是我无法解决如何创建代码,该代码显示每层可以进入我的结构的空间数。我猜猜使用cond会起作用,但我真的不知道如何写它。
这是我到目前为止所做的:
#lang racket
(define floor-one (make-vector 10))
(vector-set! floor-one 0 "empty")
(vector-set! floor-one 1 "full")
(vector-set! floor-one 2 "empty")
(vector-set! floor-one 3 "empty")
(vector-set! floor-one 4 "empty")
(vector-set! floor-one 5 "full")
(vector-set! floor-one 6 "full")
(vector-set! floor-one 7 "empty")
(vector-set! floor-one 8 "full")
(vector-set! floor-one 9 "full")
(define floor-two (make-vector 10))
(vector-set! floor-two 0 "empty")
(vector-set! floor-two 1 "full")
(vector-set! floor-two 2 "empty")
(vector-set! floor-two 3 "empty")
(vector-set! floor-two 4 "empty")
(vector-set! floor-two 5 "full")
(vector-set! floor-two 6 "full")
(vector-set! floor-two 7 "empty")
(vector-set! floor-two 8 "full")
(vector-set! floor-two 9 "full")
(struct hotel-rooms (floor rooms-empty))
(define empty-rooms1 (λ (any->vector x)
(cond
())))
答案 0 :(得分:1)
这项任务的完美功能:vector-count
。试试这个:
(define empty-rooms
(λ (vec)
(vector-count (λ (floor) (string=? floor "empty"))
vec)))
甚至更简单:
(define (empty-rooms vec)
(vector-count (curry string=? "empty") vec))
例如:
(empty-rooms floor-one)
=> 5