digitalmars.D.learn - if statement.
- Simen Haugen (17/17) Oct 22 2007 From the documentation:
- Regan Heath (7/31) Oct 22 2007 This is a guess, but it compiles so...
- Jarrett Billingsley (4/21) Oct 22 2007 The spec for Declarators is given in the Declarations section of the spe...
From the documentation: "If an auto Identifier is provided, it is declared and initialized to the value and type of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. If a Declarator is provided, it is declared and initialized to the value of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. " I can't understand what Declerator is.. I thought it would assign a previously defined variable, but that's not the case. if (auto r = true) { writefln(r); // OK } bool r; if (r = true) { // Error: '=' does not give a boolean result writefln(r); } So... What is it then?
Oct 22 2007
Simen Haugen wrote:From the documentation: "If an auto Identifier is provided, it is declared and initialized to the value and type of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. If a Declarator is provided, it is declared and initialized to the value of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. " I can't understand what Declerator is.. I thought it would assign a previously defined variable, but that's not the case. if (auto r = true) { writefln(r); // OK } bool r; if (r = true) { // Error: '=' does not give a boolean result writefln(r); } So... What is it then?This is a guess, but it compiles so... if (bool r = true) { writefln(r); } A declarator would be where you declare a variable, not re-assign. I guess. Regan
Oct 22 2007
"Simen Haugen" <simen norstat.no> wrote in message news:ffi0d1$vjp$1 digitalmars.com...From the documentation: "If an auto Identifier is provided, it is declared and initialized to the value and type of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. If a Declarator is provided, it is declared and initialized to the value of the Expression. Its scope extends from when it is initialized to the end of the ThenStatement. " I can't understand what Declerator is.. I thought it would assign a previously defined variable, but that's not the case. if (auto r = true) { writefln(r); // OK } bool r; if (r = true) { // Error: '=' does not give a boolean result writefln(r); } So... What is it then?The spec for Declarators is given in the Declarations section of the spec. Yes, it's basically a variable declaration. Hence the name.
Oct 22 2007