On Tuesday, 16 April 2013 at 15:27:10 UTC, Ali Çehreli wrote:
On 04/16/2013 07:57 AM, Tofu Ninja wrote:
It would be bad design if a class variable decided to refer to another object without the owner of that variable knowing about it.


I don't know, It seems like the caller of the function should know what he/she is calling. I don't make practice of calling a function with out knowing what it will do first, the caller should know that their is a chance the variable would be reassigned if its a 'ref this function'.

The same thing can be said about normal ref arguments. The caller knows that if they pass a variable into a function that has a ref argument, then there's a chance that the variable will be reassigned. Its the responsibility of the caller to know what they are calling and what might happen because of it.

And their are plenty of cases that a 'ref this function' is desirable. Simple example, a linked list head with a push function. It reassigns the head variable to what you are pushing and chains the rest after it. It makes logical sense to be able to do head.push(...) and it makes sense for this to be a class function.

Tofu

Reply via email to