On Thu, Jan 28, 2010 at 2:11 PM, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote: > Michiel Helvensteijn wrote: >> >> Bill Baxter wrote: >> >>>> byLine() is a function. It changes the state of stdin. Calling it >>>> consecutively will in general result in different return values. If >>>> there >>>> were two guys: stdin.currentLine (property) and stdin.nextLine(), it >>>> would be a different story. >>> >>> That's not how it works, I think. >>> Just calling byLine() by itself only returns a range struct. >>> Consuming things from that range is what changes the state of stdin. >> >> Ah, my bad. I was guessing. Still, returning a handle from a property that >> can change the state of the originating object is.. iffy. > > I agree. So where's the consensus? Things seemed so clear when people were > beaten with @property over their head.
I really don't see what the problem is there. You are arguing that car.wheels should not be a property simply because it would let me change the color of the wheels (which are part of the car's total state)? --bb