As a generator
getproperties(object, properties) =
(getproperty(object, property) for property in properties)
collect(getproperties(object, (:a,:c,:b)))
or comprehension
getproperties(object, properties) =
[getproperty(object, property) for property in properties]
getproperties(object, (:a,:c,:b))
? Quick benchmark:
@btime getproperties($Ref(object)[], (:a,:c,:b))
getproperties(object, properties) =
(getproperty(object, property) for property in properties)
@btime collect(getproperties($Ref(object)[], (:a,:c,:b)))
getproperties(object, properties) =
[getproperty(object, property) for property in properties]
@btime getproperties($Ref(object)[], (:a,:c,:b))
yields
293.243 ns (7 allocations: 288 bytes)
319.383 ns (8 allocations: 400 bytes)
242.857 ns (7 allocations: 288 bytes)