Scheme 球拍
我想知道你将如何编写一个函数来消费一家餐厅,并生成该餐厅的菜肴总数。就像我开餐馆一样,我有6道菜。希望我做得对 很简单,只需使用accessor过程检索餐厅的菜品列表,然后使用内置过程确定该列表的大小(或“长度”):Scheme 球拍,scheme,racket,Scheme,Racket,我想知道你将如何编写一个函数来消费一家餐厅,并生成该餐厅的菜肴总数。就像我开餐馆一样,我有6道菜。希望我做得对 很简单,只需使用accessor过程检索餐厅的菜品列表,然后使用内置过程确定该列表的大小(或“长度”): (define-struct restaurant (name address lod)) (define-struct dish (name main-ingredient price)) (define lod (list (make-dish "BNC" "p
(define-struct restaurant (name address lod))
(define-struct dish (name main-ingredient price))
(define lod
(list
(make-dish "BNC" "pepper" 15.00)
(make-dish "BBQ" "sauce" 20.00)
(make-dish "BAW" "vanilla" 18.00)
(make-dish "ACA" "tomato" 15.00)
(make-dish "NAM" "onions" 25.00)
(make-dish "PLA" "milk" 34.00)))
(define lod1
(list
(make-dish "AHSH" "carrots" 23.00)
(make-dish "PROA" "garlic" 21.00)
(make-dish "MENE" "eggs" 16.00)
(make-dish "SAYB" "water" 11.00)
(make-dish "WAFA" "chicken" 22.00)
(make-dish "LDAFK" "chocolate" 10.00)))
(define Sky-Dragon (make-restaurant "Sky Dragon" "23 Cutoiut, NY" lod))
(define Tomas (make-restaurant "Tomas" "34 Rossi, CA" lod1))
(define restaurant1 Sky-Dragon)
(define restaurant2 Tomas)
(定义(餐厅菜品数量)
(;如何确定列表的大小?
(食肆);;我们如何获取餐厅的菜品清单?
我将让您了解详细信息,但请记住——每当您使用
define struct
定义新结构时,都会自动为其每个字段创建一个访问器过程。例如,通过调用dish
上的dish price
来获取dish
的price
:(dish price dish)
谢谢。但“我们如何确定列表的大小”是什么意思呢?@Josh有一个内置的过程,给定一个列表,它会返回其大小。我请你们看一下,很容易找到很多我在课堂上没有看过的东西。有更简单的方法吗?你知道设计方法吗?
(define (number-of-dishes restaurant)
(<???> ; how do we determine the size of a list?
(<???> restaurant))) ; how do we access a restaurant's list of dishes?