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中的使用_List_Scheme_Racket - Fatal编程技术网

List 程序和映射在Scheme中的使用

List 程序和映射在Scheme中的使用,list,scheme,racket,List,Scheme,Racket,我对这个计划非常陌生,我正在慢慢地找到解决办法 我对程序和地图有一些疑问,希望能得到解答 (map plus1 (list 1 2 3 4)) 基本上会将结果返回给我: (2 3 4 5) 如果该过程将列表作为其唯一参数,则可以。我的问题是,我怎样才能使用这样一个程序,它在Map中包含两个参数 (define plus(m list) (+ m list)) 提前感谢您的帮助和建议 (define (plus m xs) (map (lambda (x) (+ m x)) xs

我对这个计划非常陌生,我正在慢慢地找到解决办法

我对程序和地图有一些疑问,希望能得到解答

(map plus1 (list 1 2 3 4))
基本上会将结果返回给我:

(2 3 4 5)
如果该过程将列表作为其唯一参数,则可以。我的问题是,我怎样才能使用这样一个程序,它在Map中包含两个参数

(define plus(m list)
    (+ m list))
提前感谢您的帮助和建议

(define (plus m xs)
  (map (lambda (x) (+ m x)) xs))

这也允许您将
加法器
函数用于其他用途

这允许您将加法器功能重新用于其他用途。

可能是这样的吗

(定义(加mn)(+mn))

(地图升级(列表1 2 3)(列表4 5 6))

;=>(列表5 7 9)

可能是这样吗

(定义(加mn)(+mn))

(地图升级(列表1 2 3)(列表4 5 6))


;=>(列表5 7 9)

使用两个列表。看看会发生什么:

guile> (map (lambda (x y) (+ x y)) '(1 2 3) '(4 5 6))
(5 7 9)

使用两个列表。看看会发生什么:

guile> (map (lambda (x y) (+ x y)) '(1 2 3) '(4 5 6))
(5 7 9)

您不应该重击
列表
。Scheme只有一个用于函数和其他值的名称空间。@Svante:a)它是一个局部变量,所以所有的I clobber都是plus方法的局部范围。b) 我只是用了Darran用过的名字。但很好,我改变了它。好吧,我会闭嘴我最讨厌的事:一个小写的l作为参数看起来像一个1。没关系,别管它。@Jason:不,没关系,我很乐意根据评论更改变量名。我很随和,这正是我想要的。谢谢正如我所理解的,这只是创建一个调用Map方法的函数,然后定义一个匿名函数来进行添加?您不应该使用clobber
list
。Scheme只有一个用于函数和其他值的名称空间。@Svante:a)它是一个局部变量,所以所有的I clobber都是plus方法的局部范围。b) 我只是用了Darran用过的名字。但很好,我改变了它。好吧,我会闭嘴我最讨厌的事:一个小写的l作为参数看起来像一个1。没关系,别管它。@Jason:不,没关系,我很乐意根据评论更改变量名。我很随和,这正是我想要的。谢谢正如我所理解的,这只是创建一个调用Map方法的函数,然后定义一个匿名函数来做加法?如果它更清楚您想要什么,回答这个问题会更容易。您想为每个呼叫使用两个列表成员、使用两个列表中的一个成员,还是使用一个列表中的一个成员,而其他参数是静态的?如果更清楚您想要什么,回答这个问题会更容易。是否要为每个调用使用列表中的两个成员,使用两个列表中的一个成员,或使用一个列表中的一个成员,而其他参数是静态的?