12
Clojure中我有向量“myfn1”“myfn2”“myfn3”] 我怎么能叫一个名为“myfn1”功能...使用字符串从矢量Clojure的类型转换串符号
Clojure中我有向量“myfn1”“myfn2”“myfn3”] 我怎么能叫一个名为“myfn1”功能...使用字符串从矢量Clojure的类型转换串符号
要调用势必瓦尔myfn1
给出的字符串"myfn1"
功能,你可以做这样的事情:
((resolve (symbol "myfn1")) ...) ; ... indicates where to put any arguments
因此,考虑到你的榜样载体,假设你不需要任何额外的参数传递给你的函数(它足够简单明了如果需要修改此代码),则可以执行以下操作:
(map #((resolve (symbol %))) ["myfn1" "myfn2" "myfn3"])
E.g.
user=> (map #((resolve (symbol %1)) %2) ["println" "print" "prn"] ["asdf" "asdf" "asdf"])
(asdf
asdfnil "asdf"
nil nil)
(该nil
s为从印刷函数的返回值;请注意如何有后asdf
通过print
不产生断行和asdf
产生由prn
被引述。)