Configurations.jl
Configurations.jl copied to clipboard
ArgumentError in from_dict for Vectors and Strings
When trying to parse a string in the TOML and convert it to a vector, it yields:
ERROR: ArgumentError: map(f, s::AbstractString) requires f to return AbstractChar; try map(f, collect(s)) or a comprehension instead
Hitting https://github.com/Roger-luo/Configurations.jl/blob/ac5e96c88492ac8e73e9fe3ecd433320212a526e/src/from_dict.jl#L137
when trying to extend from_dict
to work with a T<:AbstractVector
and an S<:AbstractString
.
MWE:
function axis2vec(s)
axis2vec = Dict(
"+X" => Vector(1.0, 0, 0),
"-X" => Vector(-1.0, 0, 0),
"+Y" => Vector(0, 1.0, 0),
"-Y" => Vector(0, -1.0, 0),
"+Z" => Vector(0, 0, 1.0),
"-Z" => Vector(0, 0, -1.0),
)
return axis2vec[axis]
end
@option struct Example
xs::Vector{Float64}
end
Configurations.from_dict(::Type{Example}, ::Type{Vector{Float64}}, x::AbstractString) = axis2vec(x)