方案:如何将用 cons 制成的列表更改为向量?
如何将使用 cons
制作的列表更改为向量?
((p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p))
这是我的代码:
(define b "black") (define w "white") (define (board) (letrec ((ti (lambda (x) (if (eq? x 8) '() (cons (lh x 0) (ti (+ 1 x)))))) (lh (lambda (x y) (if (eq? y 8) '() (cons (if (odd? (+ x y)) 'b 'w) (lh x (+ 1 y))))))) (ti 0)))
How can I change this list made with cons
to a vector?
((p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p)
(p b p b p b p b)
(b p b p b p b p))
This is my code:
(define b "black") (define w "white") (define (board) (letrec ((ti (lambda (x) (if (eq? x 8) '() (cons (lh x 0) (ti (+ 1 x)))))) (lh (lambda (x y) (if (eq? y 8) '() (cons (if (odd? (+ x y)) 'b 'w) (lh x (+ 1 y))))))) (ti 0)))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
list->vector
函数整个列表,然后使用矢量地图在每个子列表上。或者,首先使用
map
将list->vector
应用到每个子列表,然后在整个列表上使用list->vector
。Use the
list->vector
function on the whole list and then on each sublist usingvector-map
.Or alternatively first use
map
to applylist->vector
to each sublist and then uselist->vector
on the whole list.这就是你所想的吗?
Is this what you're thinking of?