Чтобы вызвать функцию, связанную с Var myfn1
с учетом строки "myfn1"
, вы можете сделать что-то вроде этого:
((resolve (symbol "myfn1")) ...) ; ... indicates where to put any arguments
Итак, учитывая ваш примерный вектор и предполагая, что вам не нужно передавать какие-либо дополнительные аргументы вашим функциям (достаточно просто изменить этот код, если вы это сделаете), вы можете сделать следующее:
(map #((resolve (symbol %))) ["myfn1" "myfn2" "myfn3"])
1009 * Е.Г. *
user=> (map #((resolve (symbol %1)) %2) ["println" "print" "prn"] ["asdf" "asdf" "asdf"])
(asdf
asdfnil "asdf"
nil nil)
(nil
s - это возвращаемые значения из функций печати; обратите внимание, что после строки asdf
, полученной с помощью print
и asdf
, полученной с помощью prn
, нет строки.)