Struct Statements¶
pcb-struct is a way to store a collection of related variables.
Example¶
Right now we need to use a fully qualified name to define a new pcb-struct. So if we wanted an struct named:
GenericPin
defpackage ocdb/utils/property-structs
public pcb-struct ocdb/utils/property-structs/GenericPin :
max-voltage:Toleranced|RelativeVoltage ; Maximum voltage that can be applied to pin (V)
rated-esd:Double
All together this is what it looks like to define and use a
pcb-struct:defpackage ocdb/utils/property-structs: ... public pcb-struct ocdb/utils/property-structs/GenericPin : max-voltage:Toleranced|RelativeVoltage ; Maximum voltage that can be applied to pin (V) rated-esd:Double val generic-props = GenericPin(min-max(-0.3 5.0), 1500.0) println(max-voltage(generic-props))
When we create a value that uses a struct, the variables are given in the order defined in the pcb-struct. In the above example:
- min-max(-0.3 5.0) gets assigned to max-voltage
- 1500.0 gets assigned to rated-esd
We can then access the information by the name defined in the pcb-struct. max-voltage(generic-props) fetches the value stored in the field max-voltage of a GenericPin.