very newbie question (sring confusion)

Lloyd Dupont ld-REMOVE at galador.net
Fri Jun 3 09:55:22 PDT 2011


I did the following, what do you think of my implementation?
(checking if my string and array usage could be improved / powered 
up!!!????)

string[] _locales = ["en-AU", "fr-FR"];
string getCurrentLocal() { return "fr-BE"; }
string[] getCandidates()
{
    auto local = getCurrentLocal();

    string match = null;
    for (int i = _locales.length; i-->0;)
    {
        if(_locales[i] == local)
        {
            match = _locales[i];
            break;
        }
    }

    string partial = null;
    if(local.length >= 2 && match == null)
    {
        for (int i = _locales.length; i-->0;)
        {
            auto tmpl = _locales[i];
            if (tmpl.length > 2 && tmpl[0] == local[0] && tmpl[1] == 
local[1])
            {
                partial = tmpl;
                break;
            }
        }
    }

    string[] result;
    if(match)
    {
        result.length = result.length + 1;
        result[result.length-1] = match;
    }
    if(partial && partial != match)
    {
        result.length = result.length + 1;
        result[result.length-1] = partial;
    }
    if(match != _locales[0] && partial != _locales[0])
    {
        result.length = result.length + 1;
        result[result.length-1] = _locales[0];
    }
    return result;
}



More information about the Digitalmars-d-learn mailing list