如何在另一个函数中使用嵌套函数作为球拍语言的参数?

Posted

技术标签:

【中文标题】如何在另一个函数中使用嵌套函数作为球拍语言的参数?【英文标题】:How to use nested function in another function as argument in racket language? 【发布时间】:2021-07-03 06:56:19 【问题描述】:

我想在定义中创建函数:

(define example
'(
  (define (func)
   (rectfc 200 0 "blue")
   )
  )
 )

然后在另一个函数中使用它作为参数

(execute 400 400 example '(func)))

没有(评估)功能。

【问题讨论】:

本地定义是本地的;你不能从他们的范围之外访问他们的名字。这看起来像 XY problem - 你最终希望实现什么? 【参考方案1】:

不需要引用。

#lang racket

(define (run-f args)
  (define (add-one n) ; <- defining a function locally
    (+ n 1))          ; 
  (map-f   add-one    ; <- passing into another function
           args))

(define (map-f f args)
  (map f              ; <- using the function that
       args))         ;    was passed in


(run-f '(1 2 3))
; = 2 3 4

【讨论】:

非常感谢 :)

以上是关于如何在另一个函数中使用嵌套函数作为球拍语言的参数?的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以首先获取参数,最后在球拍中的函数中获取名称?

c语言中如何在一个函数中调用在另个文件中定义的函数

如何将列表作为球拍中的参数列表传递?

c语言 结构体的指针作为函数参数问题

Python函数作为函数参数?

C语言中,同一个函数可以被定义多次吗?