首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在球拍自定义字典上创建字典映射?

问如何在球拍自定义字典上创建字典映射?
EN

Stack Overflow用户
提问于 2020-01-25 12:41:50
回答 1查看 64关注 0票数 1

我将字典定义为BNF语法中的判断:

代码语言:javascript
复制
d ::= () (any boolean) (list cons d d)

这意味着,字典是空的,或者(任何布尔值)或这样的对的列表。

如果我想创建一个映射,比如"a true",我该怎么做呢?

如果我这样做了

代码语言:javascript
复制
(define-values (d) (values '(a true)))

它只是创建了一个新的d,并不映射到之前定义的判断d。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-25 15:19:45

IIUC您希望您的字典只是一个关联列表:

代码语言:javascript
复制
(define d (list (cons 'x #t) (cons 'y #f)))

根据您将如何实现add操作,您可以set!一个新的映射:

代码语言:javascript
复制
(set! d (cons (cons 'z #t) d))

或者只创建一个新列表(首选):

代码语言:javascript
复制
(define d (list (cons 'z #t) (cons 'x #t) (cons 'y #f)))

无论哪种方式,字典d都将具有预期格式的新映射:

代码语言:javascript
复制
'((z . #t) (x . #t) (y . #f))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59906387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档