Имя структуры для создания экземпляра будет передано вызывающей программой моей программе.Затем мне нужно создать экземпляр соответствующей структуры для той же самой для дальнейшей обработки.
Например, если структура определена следующим образом
struct A end
и у меня есть функция, определенная как
function load(struct_name::AbstractString)
if struct_name == "A"
return A()
elseif struct_name == "B"
return B()
elseif ..... # and so on
end
end
это будет работать.Но есть ли более прямой способ, например return struct_name()
, вместо n операторов if else?Я вижу, что Юлия поддерживает рефлексию.Как это можно использовать для поддержки вышеуказанного варианта использования?