Isdefined function in Julia

Hi, the following is the code from OpenStreetMapX GitHub, which confused me.
extract_highways(ways::Vector{OpenStreetMapX.Way}) = [way for way in ways if isdefined(way, :tags) && haskey(way.tags, "highway")]

After searching for help in REPL, I think the isdefined function here is like
isdefined(object, s::Symbol), so, it is used to test whether an assignable location is defined or not. The arguments here are a composite object and a field name (as a symbol). My question is, what is exactly “an assignable location is defined or not”? Does it mean the field is initialised or not?

It basically means whether getfield will error or not

1 Like