I just came across a nasty difference between random(x) and Random.N(0,x) (the first being native SMath, the second from the Statistical Tools plugin).
If you store random(x) in a variable, the function is called each time the variable is used. If you do that with Random.N(), then a fixed value is stored at definition time, as if there was an internal eval() used.
If you want a fixed value when using random(), then you have to use eval().
The behavour of random() puzzled me when preparing an online
worksheet , where I had to fall back to random().
Yet, when remembering that assignment is just storage of an expression with taking into account existing definitions but not doing any computation, then random() behaves consistent and Random.N() does not.
The worksheet would look better without eval() and I can't expect third party readers to understand why it is there.
ran.sm (6 KiB) downloaded 29 time(s).
Martin Kraska
Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx