1

我有一个像这样的文件列表("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)))

但这不起作用。

如何实现?

4

1 回答 1

1

您对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))))

提供menuradio-menu-item解决正确的值。

于 2012-08-21T00:39:50.440 回答