The advantage of a Value is that there is no need to copy the contents out to the parameter— any change to the Value immediately updates the associated parameter. For example, a real parameter could be represented by a RealValue. Value objects have methods like setValue(String) or getAsReal(). Value objects can also be updated inside functions, allowing you to emulate the C-language pass-by-reference operator &. Array parameters are added as an array of Value objects (Value[] in Java). |