在Racket中列出操作

时间:2013-03-29 06:41:39

标签: racket

是否有像

这样的列表操作

'(x y) '(1 2)

(替换'(x y)'(1 2)(+'x'y))

- > (每个符号与数字列表相对匹配,并替换)

- > (x = 1,y = 2)

- > (+ 1 2)

- > 3

我从参考资料中找不到任何想法。

http://docs.racket-lang.org/reference/pairs.html

2 个答案:

答案 0 :(得分:1)

您可以使用let

(let ((x 1)
      (y 2))
  (+ x y))

答案 1 :(得分:1)

如果您尝试表示名称和值之间的映射(“字典”),有几种方法可以实现。 Racket提供了一个 hash 类型,可以将名称与值相关联。您可以在Guide中了解它们。有一种更通用的方法可以在Racket中使用类似字典的值(在racket/dict库中描述),它适用于不同的数据类型,而不仅仅是哈希。