Bill Baxter wrote:
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)?

The problem is not localized change. The result of stdin.byLine changes the _entire_ stdin.

Andrei

Reply via email to