There is no connection between unset and ?. You cannot evaluate an unset variable as boolean (e.g. with ternary).
@lexikos I didn't have in mind
ternary operator ?: or any boolean related stuff. For example, the very same
& symbol can be unary and binary operator, boolean and bit-wise depending on context for the sake of having a limited number of ASCII symbols to allot to.
What I mean is
any suitable shorthand symbol (
?,
*,
!, whatever) for
unset "keyword":
param:=*
What you want is to pass something which is not a reference to a variable, to a parameter which is designed to take a reference to a variable. (...)
Not quite that. Along with being compliant to the function's requirement and being
shorthand, I want to use a temporary short-term life (just for the
callee time line) variable w/o allocating any name to it within the caller's namespace. Yes, discarding any output to that var on purpose.
()=>expr creates an anonymous function's reference.
&(expr) could create a variable reference the same anonymous way. We might assign the reference to some variable
function(ref:=&(expr)), otherwise the anonymously created variable would be discarded after the call.