func create(_data) fvar(i, s) s = 'self.' s &&= isndef(Name) ? code(Name) : code(_data) && '(' for(i = 1; i <= _data_count_; i++) if(i > 1) s &&= ',' end s &&= point("arg" + i) end s &&= ')' return(s) end func doPrint(_data) if(linked(Result)) println(res, ' = ', create(_data)) event(onPrint, res) else if(isdef(IgnoreResult)) println(create(_data)) event(onPrint) else event(onPrint, create(_data)) end end end func Result() if(linked(doPrint)) return(res) else return(create('')) end end