我有一个像so ("File1" "File2" "File3")这样的文件列表
我想把它变成这样的一组单选菜单项
(menu :text "Lists" :items [(radio-menu-item :text "File 1")(radio-menu-item :text "File 2")(radio-menu-item :text "File 3")])我已经尝试过这样的循环
(def Radios (for [ item '("File1" "File2" "File3")] (radio-menu-item :text item)))但这是行不通的。
如何才能做到这一点?
发布于 2012-08-21 08:39:50
您对for表达式的使用看起来是正确的,如果我稍微更改表达式,使其返回它将运行的列表,而不是运行它,我们可以验证这一点:
core> (list 'menu :text "Lists" :items
(vec (for [ item '("File1" "File2" "File3")]
(list 'radio-menu-item :text item))))
(menu :text "Lists" :items [(radio-menu-item :text "File1")
(radio-menu-item :text "File2")
(radio-menu-item :text "File3")])因此,完成的表达式变成:
core> (menu :text "Lists" :items
(vec (for [ item '("File1" "File2" "File3")]
(radio-menu-item :text item))))假设menu和radio-menu-item解析为正确的值。
https://stackoverflow.com/questions/12045058
复制相似问题