I'd like to write a function that delays the evaluation of a function (say) $5$ seconds after I hit Shift+Return. Is this possible?
2 Answers
$\begingroup$
$\endgroup$
1
Use the Pause function:
SetAttributes[delayedFunction, {HoldFirst}];
delayedFunction[function_] := (Pause[5]; function);
-
$\begingroup$ More useful if defined as
delayedFunction[function_, dt_] := (Pause[dt]; function)
$\endgroup$ Commented Apr 28, 2014 at 19:35
$\begingroup$
$\endgroup$
An alternative is to use the built in function, RunScheduledTask
Dynamic[z]
RunScheduledTask[z = 7, {5}]
clock
but it is new, and I'm not allowed to create new tags. $\endgroup$