Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/scheme/2.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
Scheme 每个球拍的这个数字是多少_Scheme_Racket - Fatal编程技术网

Scheme 每个球拍的这个数字是多少

Scheme 每个球拍的这个数字是多少,scheme,racket,Scheme,Racket,23号是干什么用的 (for-each (lambda (arg) (printf "Got ~a\n" arg) 23) '(1 2 3 4)) 即使没有“23”,代码也可以运行。这是为了说明示例代码上方的行中所写的内容。。。程序结果(在本例中为23)将被忽略 由于它被忽略,您可以输入任何其他值,甚至可以不输入任何值。for each是map的一个特殊版本,它完全忽略每个应用程序的返回值,并且不生成结果列表。如果

23号是干什么用的

(for-each (lambda (arg)
              (printf "Got ~a\n" arg)
              23)
            '(1 2 3 4))

即使没有“23”,代码也可以运行。

这是为了说明示例代码上方的行中所写的内容。。。程序结果(在本例中为23)将被忽略


由于它被忽略,您可以输入任何其他值,甚至可以不输入任何值。

for each
map
的一个特殊版本,它完全忽略每个应用程序的返回值,并且不生成结果列表。如果提供的过程没有副作用,则整个表达式将成为死代码


for
是一种特殊形式,允许您使用不同语法为每个编写
。它的
map
等价物被称为
for/list
<用于
的代码>不适用于#!球拍,而每个的存在于所有方案语言和方言中<对于和friends,作为一个宏,代码>确实比程序版本具有更多的功能,例如可能有更多的累加器和停止条件

这是为了说明在示例代码上面的一行写了什么。。。该过程的结果(在本例中为23)被忽略。我认为您应该将此作为一个答案,因为这在该页上不清楚。它与简单的“for”有什么区别:(for((item)(1 2 3 4))(printf“get~a\n”item))?每种球拍都有什么特别之处,使其区别于简单的“for”循环?
每种
都是标准方案,而
for
程序都是特定于球拍的。在这种情况下,它们相当于同一件事。文档将每个的
地图
进行比较;它们是相似的,但是
map
使用了过程的结果,而
for each
没有。for each
可以映射到
for
,而
map
可以映射到
for/list
@mso
for
循环在Scheme中并不存在。它们只是递归过程的糖。