更新时间:2023-10-14 23:49:16
如果函数保留其参数,这似乎可以工作:
It seems to work if the function holds its arguments:
tod := Mod[AbsoluteTime[], 86400]
SetAttributes[f, HoldAll];
f[x_: tod] := x
In [23]:= f []
In[23]:= f[]
Out [23] = 47628.994048
Out[23]= 47628.994048
In [24]:= f []
In[24]:= f[]
Out [24] = 47629.048193
Out[24]= 47629.048193
或者您可以使用以下结构代替默认值:
Or you can use a construction like the following instead of a default value:
g[] := g[Mod[AbsoluteTime[], 86400]]
g[x_] := x
输入[27]:= g []
In[27]:= g[]
输出[27] = 47706.496195
Out[27]= 47706.496195
In [28]:= g []
In[28]:= g[]
Out [28] = 47707.842012
Out[28]= 47707.842012