def a(x):
x = 42
and expect the value of `y` in your local scope to be changed after `a(y)`.I'd rather agree with the way Java defines it - call by value.
Wikipedia: However, the term "call by sharing" is not in common use; the terminology is inconsistent across different sources. For example, in the Java community, they say that Java is pass-by-value, whereas in the Ruby community, they say that Ruby is pass-by-reference, even though the two languages exhibit the same semantics.