在Racket中使用map函数时遇到'arities do not match'错误

作者:佚名 上传时间:2024-03-05 运行软件:Racket 软件版本:Racket 7.9 版权申诉

这个错误通常表示在map函数中使用的函数与列表的元素数量不匹配。在你的代码中,add-one函数是一个一元函数,但是map函数默认期望接受二元函数。解决这个问题的方法是使用curry函数将add-one函数转换为一个接受一个参数的函数。修改你的代码如下:


(define (add-one x)
  (+ x 1))

(define my-list '(1 2 3 4))

(define result (map (curry add-one) my-list))

这样修改后,你的代码应该能够正常运行,而不再出现'arities do not match'错误。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Racket使map'arities do not match'
这个错误通常表示在map函数中使用的函数与列表的元素数量不匹配。在你的代码中,add-one函数是一个一元函数,但是map函数默认期望接受二元函数。解决这个问题的方法是使用curry函数将add-on
Racket 7.9
Racket
2024-03-05 20:13
Scheme使map'application: not a procedure'
在Scheme中,'application: not a procedure'错误通常表示您尝试将一个非过程的值当作函数来调用。这通常发生在使用map函数时,其中传递的函数参数可能不是一个可调用的过程
Scheme
Scheme
2023-12-06 04:42
Racket使match奇怪的
在Racket中使用match表达式时,确保在列表模式中使用的标识符是模板变量而不是常量。在你的代码中,模式(list 'a 'b)中的'a'和'b'是常量而不是模板变量,因此匹配时会失败。要修复这个
Racket
Racket
2023-11-26 17:45
Racket使lambda
在Racket中使用lambda函数时出现错误可能有多种原因。首先,确保你正确使用lambda语法,即(lambda (参数) 表达式)。检查参数和表达式的数量以及括号的匹配情况。如果语法没有问题,那
Racket版本: 最新版本
Racket
2023-12-01 04:47
Racket使define定义'application: not a procedure'
这个错误通常表示在使用一个值作为函数调用时,该值并不是一个可调用的过程。在你的代码中,你定义了一个函数 my-function,但是可能在调用它的时候出现了问题。首先,确保你调用这个函数的方式是正确
Racket 7.x
Racket
2023-12-03 15:59
Racket使lambda
在Racket中,lambda函数是用于创建匿名函数的关键字,但有时候我们可能会遇到一些报错,特别是在使用lambda函数时。常见的问题之一是在lambda函数体内引用了未定义的变量。请确保lambd
Racket 7.x
Racket
2023-12-07 06:40
Racket使lambda'application: not a procedure'怎么办?
这个错误通常表示在应用一个非过程对象时发生了问题。可能是因为你尝试调用一个不是函数的值。检查你的lambda表达式是否正确,确保它是一个可调用的过程。另外,还要检查你的调用方式,确保你正在正确地应用l
Racket 7.9
Racket
2023-11-12 09:08
Racket使define定义'application: not a procedure'
在Racket中,出现 'application: not a procedure' 错误通常是因为在调用函数时,函数名或函数体不是一个可调用的过程(procedure)。在你的代码中,我注意到了可能
Racket 7.x
Racket
2023-11-14 16:04
Racket使lambda奇怪的
这个错误通常表示在lambda函数的参数列表中出现了多余的省略号(ellipsis)。在Racket中,省略号用于表示可变数量的参数,但是它们必须出现在参数列表的最后。在你的代码中,错误可能是由于省略
Racket 7.9
Racket
2023-12-09 19:28
Racket使`match`模式匹配怎么办?
在Racket中使用match时遇到模式匹配错误可能是由于模式没有正确匹配到输入值造成的。首先,检查你的模式是否覆盖了所有可能的输入情况。确保你的模式中没有遗漏任何可能的情况,否则就会触发匹配错误。同
Racket 7.0+
Racket
2023-12-07 19:07