Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Scheme get运算符是列表中的过程_List_Scheme_Operators - Fatal编程技术网

List Scheme get运算符是列表中的过程

List Scheme get运算符是列表中的过程,list,scheme,operators,List,Scheme,Operators,我想从一个列表中得到一个操作符,它将是一个过程而不是一个符号 例如,让我们假设我想要建立这个列表:”(-a3)使用cons 如果我把((car'-a3))53,它应该打印出来2。但是,由于-在列表中,因此获取列表中的车辆仍然是一个符号,而不是实际的操作员 这里的问题是我必须使用cons来构建(-a3)列表(并将其打印出来)。我的教授将把car和53一起添加到它前面,最后它应该打印出2 所以我现在有:(cons'-(cons'a(cons'3')),它打印出(-a3) 如果我添加car和53:((

我想从一个列表中得到一个操作符,它将是一个过程而不是一个符号

例如,让我们假设我想要建立这个列表:
”(-a3)
使用
cons

如果我把
((car'-a3))53
,它应该打印出来
2
。但是,由于
-
在列表中,因此获取列表中的
车辆
仍然是一个符号,而不是实际的操作员

这里的问题是我必须使用
cons
来构建
(-a3)
列表(并将其打印出来)。我的教授将把
car
53
一起添加到它前面,最后它应该打印出
2

所以我现在有:
(cons'-(cons'a(cons'3'))
,它打印出
(-a3)

如果我添加
car
53
((car(cons)-(cons'a(cons'3'(щщ))53)
,我会得到一个错误,说
不是一个过程

有人能提供一些指导吗?我不知道如何继续。

然后使用:
(cons-(cons'a(cons'3'))
。也就是说,不要引用
-
。这将使用
-
过程而不是符号

> ((car (cons - (cons 'a (cons 3 '())))) 5 3)
2
这可以写为准连续列表,简写为:†


†在准引号数据中,即使用后引号而不是引号,任何前面带有逗号的数据都是不带引号的。(一个没有逗号的QUISQUOTE与quote相同。)

您需要一个函数,该函数在给定一个符号时,返回全局绑定到该符号的值。Scheme中是否已有这样的函数?我不允许做我自己的。引用阻止了正常的评估,这里你想强制它。所以eval@coredump-或者一开始就不要引用。OP说他们必须使用
cons
,不是说他们必须引用所有内容。@ChrisJester Young没错,我太关注引用了。谢谢!从不知道Quasikotes,看起来很有用。
> ((car `(,- a 3)) 5 3)
2