Извините, если я не сумел найти. Думаю не стоит создавать новую тему для данного вопроса.
Сразу скажу, реализация на Node.js
Итак, если цикл While в нём switch. Есть условие в switch, при котором нужно выйти из While. Break, конечно выходит из switch. С метками не помогает, насколько я понял, прыжок вперед невозможен.
Рассматриваю реализацию через throw
CODE ( javascript):
скопировать код в буфер обмена
function compile(file) { try{ JQL = NewJQL(file); while (JQL.next()!==false) { if (JQL.is_line()) { switch (true) { case (JQL.test(/^\s*\/\//)): debug ('comment detect:' + JQL.__line); JQL.pushblank(); break; case (JQL.test(/^\s+/)): debug('Column detect: ' + JQL.__line); //JQL.push(JQL.getblank(), true); process_column(); break; case(JQL.is_endtable()): jql_close(); //NO break!! This lines must be run for two conditions!!! case(JQL.test(/^[a-zA-Z]/)): debug('Begin table detect: '.bold + JQL.table().bold); jql_create(); JQL.push(' id int (11) unsigned NOT NULL AUTO_INCRENENT,'); } } } } catch(e) { JQL.push('// ' + e); console.log(e); } finally { jql_close(); savedata(file); } }
Может так лучше? Если нет, подскажите как.
ПС. выход должен быть в случае Фальзе некоторых функций jql_create();process_column();jql_close();
|