我遇到这样一个问题:
我想使用(发送my-list-box设置数据)来刷新运行时列表框%的数据.但我不能这样写:
(apply
send my-list-box set
(map ....))
Run Code Online (Sandbox Code Playgroud)
这是无效的.但我知道max func可以做到这一点:
(apply
max
(map ...))
Run Code Online (Sandbox Code Playgroud)
唯一的区别是"发送my-list-box set"有多个关键字,而不是像max这样的单个关键字func.
怎么解决这个?
使用send/apply多个论点也适用于send:
(send/apply my-list-box set (map ...))
Run Code Online (Sandbox Code Playgroud)
的(apply send my-list-box set (map ...)),因为(您试图使用)仅无效send是一个语法(宏),不是因为有多个前面的参数.例如,这有效:
(apply + 1 2 3 '(4 5 6))
Run Code Online (Sandbox Code Playgroud)