2016-12-16 98 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> 
相關問題