« Return to Thread: getter / setter questions

Re: getter / setter questions

by Naftoli Gugenheim :: Rate this Message:

Reply to Author | View in Thread

Maybe because if not for the requirement, if you had a var and a _= method with the same base name assignment would be ambiguous? And if it was a val it would be confusing to a user. Like this there can't be a var/val if there is a def.

-------------------------------------
Daniel Sobral<dcsobral@...> wrote:

Ah, I understand now! Indeed, that is curious. The book says the following
on assinments:


The interpretation of an assignment to a simple variable
*x *= *e *depends on the

definition of
*x*. If *x *denotes a mutable variable, then the assignment changes the

current value of
*x *to be the result of evaluating the expression *e*. The type of *e *is

expected to conform to the type of
*x*. If *x *is a parameterless function defined in

some template, and the same template contains a setter function
*x*_= as member,

then the assignment
*x *= *e *is interpreted as the invocation *x*_=(*e *) of that setter

function. Analogously, an assignment
*f *.*x *= *e *to a parameterless function *x *is

interpreted as the invocation
*f *.*x*_=(*e *).

  So, here it is: "If *x *is a parameterless function defined in some
template, and the same template contains a setter function *x*_= as member".
The same-name getter is a requirement. It's probably a matter of
consistency: getters and setters are a way to make something look like a
var, while hiding the actual implementation.


On Wed, Jul 8, 2009 at 6:37 AM, Michael <micha-1@...> wrote:

> Am Wednesday 08 July 2009 11:16:41 schrieb Ricky Clarkson:
> > I think it's reasonably obvious that bar isn't the name of a setter for
> > foo.
>
> a setter can be just some function, like written here:
> on page 392 and 393 of the "Programming in Scala" book there is an example
> where they define conversion functions to and from fahrenheit to and from
> celsius with a getter and a setter function. This looked to me like I can
> choose the names for getters and setters arbitray. But maybe just my
> english
> sucks and I understood something which isn't there :-)
>
> cheers
>  Michael
>



--
Daniel C. Sobral

Something I learned in academia: there are three kinds of academic reviews:
review by name, review by reference and review by value.

 « Return to Thread: getter / setter questions