2016-12-16 55 views
0

什么导致输出差异在下面?一个方法的输出与参数和没有参数有什么区别?

(define my-method (lambda() '(1 2))) 

    (define my-method (lambda (x) '(1 2))) 

首先一个返回:程序:MY-方法

二之一:(1 2)

+0

没有区别。除了参数列表之外,您必须在第一种情况下键入不同的东西。 – Sylwester

+0

应该没有区别,但在Racket中,定义都不应该产生任何输出。你究竟在哪里输入这些? (这些*正是*你输入的内容吗?请记住,一对括号在Scheme和Racket中有很大的区别。) – molbdnilo

回答

0

没有区别:

(define my-method1 (lambda() '(1 2))) 
(define my-method2 (lambda (x) '(1 2))) 

(my-method1) 
(my-method2 1) 
my-method1 
my-method2 

输出:

'(1 2) 
'(1 2) 
#<procedure:my-method1> 
#<procedure:my-method2> 
相关问题