I had a problem where I assigned a function result to a variable, and then inverted that variable to get a division by zero. While writing a query on this forum I just twigged what might cause this and found the problem.
magnitude#=EntityDistance(source,target)
magnitude#=1/magnitude#
The above statement apparently generates a blank magnitude# variable, of 0 value, and then uses that in the 1/magnitude# expression, instead of creating a temp, performing 1/magnitude# to that temp, and copying back to magnitude#.
Are there any details on Blitz's operation that would explain this? It seems a very non-standard way of dealing with variable assigns. I don't think I know any other language that doesn't produce the result x=1/x that you'd expect.
magnitude#=EntityDistance(source,target)
magnitude#=1/magnitude#
The above statement apparently generates a blank magnitude# variable, of 0 value, and then uses that in the 1/magnitude# expression, instead of creating a temp, performing 1/magnitude# to that temp, and copying back to magnitude#.
Are there any details on Blitz's operation that would explain this? It seems a very non-standard way of dealing with variable assigns. I don't think I know any other language that doesn't produce the result x=1/x that you'd expect.