我正在尝试在Racket中定义一个不带参数的函数.我见过的所有例子都有一个或多个参数.我怎样才能做到这一点?
(define (fun1)
"hello")
(define fun2
(lambda ()
"world"))
(define fun3
(thunk
"I am back"))
(fun1)
=> "hello"
(fun2)
=> "world"
(fun3)
=> "I am back"
Run Code Online (Sandbox Code Playgroud)
编辑
如果像@Joshua建议的那样,你想要一个可以接受任何参数并忽略它们的过程,那么等价的定义将是:
(define (fun1 . x)
"hello")
(define fun2
(lambda x
"world"))
(define fun3
(thunk*
"I am back"))
(fun1)
(fun1 1 2 3)
=> "hello"
(fun 2)
(fun2 4 5 6 7)
=> "world"
(fun3)
(fun3 8 9)
=> "I am back"
Run Code Online (Sandbox Code Playgroud)