2012-12-09 37 views
2

我遇到了這樣一個問題:如何使用適用於Racket中的多個關鍵字func?

我想使用(發送我的列表框集數據)刷新列表框%的數據在運行時。但我 不能這樣寫:

(apply 
    send my-list-box set 
    (map ....)) 

這是無效的。但我知道最大FUNC可以這樣做:

(apply 
    max 
    (map ...)) 

唯一不同的是「送我的列表框集」有多個關鍵字,而不是單一的關鍵字 FUNC像Max。

如何解決這個問題?

回答

5

使用send/apply多個論點也適用於send

(send/apply my-list-box set (map ...)) 

(apply send my-list-box set (map ...))(您試圖使用)僅無效,因爲send是一個語法(宏),不是因爲有多個前面的參數。例如,這個作品:

(apply + 1 2 3 '(4 5 6)) 
+0

是的,非常感謝,謝謝StackOverflow。 – simmone

+0

@simmone [Eli Barzilay](http://stackoverflow.com/users/128595/eli-barzilay)是一名核心球拍開發者。歡迎您就堆棧溢出問任何球拍問題,如果沒有其他人能回答它,我很確定Eli可以。 :-)(事實上,他爲你的問題寫了一個答案;它恰好與我的幾乎相同) –

+0

是的,我經常看到這個頭像,我很高興在stackoverflow上遇到你們所有人。 – simmone

相關問題