> Usual way to do this is with a newFoo proc.
I think this might be more versatile:
type
Foo = object
bar: int
value: float
proc initFoo(bar = 42, val = 3.2): Foo =
Foo(bar: bar, value: val)
var foo1 = initFoo()
var foo2 = initFoo(val = 9.9)
var foo3 = initFoo(21, 17.34)
echo foo1 # => (bar: 42, value: 3.2)
echo foo2 # => (bar: 42, value: 9.9)
echo foo3 # => (bar: 21, value: 17.34)
Run
