Bill Baxter wrote:
On Thu, Jan 28, 2010 at 2:25 PM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
Bill Baxter wrote:
On Thu, Jan 28, 2010 at 2:07 PM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
Bill Baxter wrote:
On Thu, Jan 28, 2010 at 1:26 PM, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
Steven Schveighoffer wrote:
On Thu, 28 Jan 2010 15:59:30 -0500, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
foreach (line; stdin.byLine()) { ... }

vs.

foreach (line; stdin.byLine) { ... }

How do I choose?
byLine is a property.  It is fetching a range on stdin.

-Steve
Damn. I was sure the answer will be different.
Maybe "property" is a misleading word.  Clearly there are more things
to which that applies than just what the traditional definition of the
word would imply.  I would not in English call my nose a "property" of
me, but if I were a D object and had a .nose accessor, I would
certainly think that accessor would qualify as a D property.

How's this: anything that you can "get" without specifying additional
information (and which doesn't change the outwardly visible state the
object when you do so) is a property.   The C# syntax with the special
use of "get" and "set" perhaps does a better job of conveying this.
This raises the hair on my back. It's back to programming-by-convention.
Wait, you started off by saying "how do I decide?" and we give you a
rule you can follow to decide and now you say you don't like it
because it's programming-by-convention?   I guess I don't really
understand what your argument is.
It's not a rule. It's several contradictory ones.

Please point out the contradictions.  I'm not seeing them.

Some said it should be stdin.byLine(), some others said it should be stdin.byLine. They invoked contradictory rules that led to contradictory conclusions.

Andrei

Reply via email to