Я пытаюсь захватить строки с расчетами в текстовом документе
и выполнить их.Если сообщение об ошибках соответствует эхо-строке
Я использую это в моей функции:
for i in range(startline,endline)
let calculation = getline(i)
...
let out = eval(calculation)
...
endfor
иногда что-то пойдет не так, и я получаю это сообщение:
Error detected while processing function....
Line ...
E488: Trailing Characters
линия .. это линия-номер в моей функции.
Я хотел бы также знать, какие вычисления это касается (какой строки в моем текстовом документе):
Если обнаружена ошибка = эхо расчета
Как я могу проверить, есть ли сообщение об ошибке и эхо переменного " расчет "?
спасибо очень Инго. Я адаптировал ваше 2-е решение. Только одна мелочь. Я добавил ': continue' под' echohl None', чтобы перейти к следующему циклу. Я хочу, чтобы сообщения об ошибках отображались в конце функции (после того, как все сделано). Это возможно? – remio
@remio: Конечно. Инициализируйте список через 'let errors = []' перед циклом. Затем вместо присвоения 'v: errmsg', do' call add (errors, printf (...)) '. Наконец, после цикла распечатайте список либо через «echo join (ошибки,« \ n »)», либо явно итерацию через «для ошибки в ошибках». –
Ingo Karkat, спасибо вам большое! – remio