On Sunday, 18 January 2015 at 22:54:16 UTC, Jens Bauer wrote:
On Sunday, 18 January 2015 at 16:03:24 UTC, MattCoder wrote:
On Sunday, 18 January 2015 at 15:52:24 UTC, Jens Bauer wrote:
...
First check: Is it a number; if so, get the entire number... If not, try the second check: is it a token; if so, get the entire token, otherwise let us know that it's something unknown (but only if we're debugging).

Alright I see the purpose about: "while(){}else(){}", but unfortunately D doesn't have this.

Anyway looking at your first post, I'd like to suggest a way to improve your code:

/*
Create a "type check" function/method... you named it returning a defined type */
import std.string;

type checkType(sometype s){
   if(isNumeric(s)){
      return TYPE_NUMBER;
   }

   // Check using regex for A..Z, a..z and '_'
   return TYPE_TOKEN;

   return TYPE_UNDEFINED;
}


// And then somewhere in your code you could do this:
...
{
    switch(checkType(s)){
        case TYPE_NUMBER : doNumberThing(s); break;
        case TYPE_TOKEN  : doTokenThing(s);  break;
        default : checkDebug();
    }
}

It's not what you proposed earlier, but I think it can make things easier.

Matheus.

Reply via email to