I've written a function which loads a bunch of data and plots individual 
periods where valves are in a certain configuration. My function works but 
I am curious about best methods.

function qcl_valve_plot(Dr::AbstractString,mindate::DateTime,maxdate::
DateTime,dt::Dates.Period,col::Symbol,valveLogic::AbstractString)

...

# Valve Zones
f4 = []
valveLogic = replace(valveLogic," =="," .==")
valveLogic = replace(valveLogic,"V","statuses.Valve")
valveLogic = "find(" * valveLogic * ")"
f4 = eval(parse(valveLogic))

statuses is a custom type with four Valve boolean arrays among other 
parameters (Valve1, Valve2, Valve3, Valve4)

valveLogic is a string, such as "(V3 & !(V1 & V2)) == true". When it's 
properly formatted by the code it looks more like "find((statuses.Valve3 & 
!(statuses.Valve1 & statuses.Valve2)) .== true)".

Is there a better method which still keeps the input pretty simple?

Reply via email to