UnaryOpFunction represent a unary oparation on a function


superclass: AbstractFunction


Operating on functions instead of numbers, what results is not a result of the calculation, but a structure that represents that calculation.


// example

a = 2.sqrt; // result is square root of two (approximate floating point).

a = { b }.sqrt; // result is  a UnaryOpFunction

b = 2;

a.value; // now it is evaluated, and the result is calculated

b = 9;

a.value; // again, with a different value.


see also: BinaryOpFunction, NAryOpFunction

related: UnaryOpStream, Punop



// sound example

(

var a = { 19.rand };

var b = a.sqrt;

fork {

15.do {

(instrument: \default, note: [a.value, b.value]).play;

0.3.wait;

}

}

)