use*_*329 3 lisp scheme common-lisp
对于成对的东西使用缺点是好的风格还是坚持列表更好?
比如问题和答案:
(list
(cons
"Favorite color?"
"red")
(cons
"Favorite number?"
"123")
(cons
"Favorite fruit?"
"avocado"))
Run Code Online (Sandbox Code Playgroud)
我的意思是,有些东西自然成对出现; 没有必要能够容纳超过两个的东西,所以我觉得缺点是自然的选择.但是,我也觉得我应该坚持一件事(列表).
什么是更好或更容易接受的风格?
你在那里有一个关联列表(alist).Alist条目实际上通常是简单的conses而不是列表(虽然这是一个偏好的问题:有些人也使用列表作为alist条目),所以你拥有的很好.虽然,我通常更喜欢使用文字语法:
'(("Favorite color?" . "red")
("Favorite number?" . "123")
("Favorite fruit?" . "avocado"))
Run Code Online (Sandbox Code Playgroud)
Alists通常使用符号作为键,因为符号是实例化的,因此可以使用assq
而不是使用符号来查找符号assoc
.以下是它的外观:
'((color . "red")
(number . "123")
(fruit . "avocado"))
Run Code Online (Sandbox Code Playgroud)