-module(test_now).
-compile(export_all).
start() ->
{_, A, _} = now(),
loop(0, A).
loop(A) ->
{_, B, _} = now(),
if
B == A + 1 -> loop(0, B);
true -> loop(A)
end.
loop(T, B) ->
{_, C, _} = now(),
if
C == B + 1 -> io:write(T);
true -> loop(T+1, B)
end.
論理的には、このコードは1+
2番目に実行されるはずです。しかし、結果は1秒よりはるかに短い時間で返されます。test_now:start()
また、Eshellを頻繁に呼び出すと(上矢印、Enter、上矢印、Enter ...)、結果は常に999999ok
です。