poll for properties
Jesse Phillips
jessekphillips+d at gmail.com
Tue Jul 28 16:28:21 PDT 2009
Steven Schveighoffer Wrote:
> Please respond to this poll before reading other responses.
>
> Read the following function:
>
> void foo(Box b)
> {
> if(b.xxx)
> b.fill(5);
> else
> b.yyy;
> }
>
> Assuming you have no idea what type Box is, what of the following options
> looks most natural for xxx in order to test to see if b has an element in
> it?
>
> a) if(b.empty)
> b) if(b.empty())
> c) if(b.clear)
> d) if(b.clear())
>
> Answer:
> =============
A
> =============
>
> What would you guess looks most natural for yyy in order to remove all
> elements from b?
>
> a) b.empty;
> b) b.empty();
> c) b.clear;
> d) b.clear();
>
> Answer:
> =============
D
> =============
>
> Which of the following functions looks incorrect?
>
> void a(Box box)
> {
> if(box.empty())
> box.fill(5);
> else
> box.clear();
> }
>
> void b(Box box)
> {
> if(box.empty)
> box.fill(5);
> else
> box.clear;
> }
>
> void c(Box box)
> {
> if(box.clear)
> box.fill(5);
> else
> box.empty;
> }
>
> void d(Box box)
> {
> if(box.clear())
> box.fill(5);
> else
> box.empty();
> }
>
>
> Answer:
> ==============
The last 2.
> ==============
>
> You read the documentation for Box, and it looks like this:
>
> /**
> * check to see if a box is clear
> */
> bool clear();
>
> /**
> * empty a box, returning true if the box had contents before emptying
> */
> bool empty();
>
> Now knowing what the actual meaning of clear and empty are, indicate which
> version(s) of the function in the previous question would surprise you if
> it compiled.
>
> Here are the functions again for reference:
>
> void a(Box box)
> {
> if(box.empty())
> box.fill(5);
> else
> box.clear();
> }
>
> void b(Box box)
> {
> if(box.empty)
> box.fill(5);
> else
> box.clear;
> }
>
> void c(Box box)
> {
> if(box.clear)
> box.fill(5);
> else
> box.empty;
> }
>
> void d(Box box)
> {
> if(box.clear())
> box.fill(5);
> else
> box.empty();
> }
>
> Answer:
> ==============
Looks like they all should compile, but I'm assuming we are using D.
> ==============
>
> Do you think the meaning of a symbol with parentheses suggests something
> different than that same symbol without parentheses for the following
> symbols:
>
> a) select
I would assume select has parameters. If it doesn't, it means nothing to me with or without parenthesis
> b) rock
Hard place, oh, wrong game. Means nothing without context
> c) keyboard
Nope.
> d) elevate
Nope
> ==============
>
> Thank you for taking the poll. I tried to be as objective as possible, if
> you don't think I was, please indicate why:
More information about the Digitalmars-d
mailing list