如何在另一个函数中使用嵌套函数作为球拍语言的参数?
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
【讨论】:
非常感谢 :)以上是关于如何在另一个函数中使用嵌套函数作为球拍语言的参数?的主要内容,如果未能解决你的问题,请参考以下文章