Версия PascalABC.NET 3.5


#102

Хорошо, тогда как насчёт этого:

  • Если в конце строчке стоит арифметический оператор или не все скобки закрыты - ; ставить не надо.

Это предусмотрит больше случаев, и не только где лямбды не дописаны, а вообще для любого выражения.

Есть ещё что то что я упускаю?


#103

Не все скобки закрыты - это глубокий разбор. В частности, выражение может быть на нескольких строчках.

Эта возможность принципиально разрабатывалась так чтобы ничего не разбирать - она должна срабатывать быстро. Именно поэтому в ней анализируется максимум текущая строка, одна строка выше и одна строка ниже.

Например,

procedure
A
;
begin <Enter>

не увидит процедуру и добавит

end.

а не

end;

#104

Оказывается, что в PascalABC.NET имеются рабочие частичные классы:

type
  T = partial class
    public a: integer := 1;
  end;
  
  T = partial class
    public b: integer := 2;
  end;

begin
  var a := new T;
  write(a.a + a.b);
end.

#105

Хакер…


#106
begin
  var a: array of byte;
  a := new byte[32];
end.

Превращается в

begin
  var a: array of byte;
  a := new;byte[32];
  
end.

#107

Это уже исправлено. Закачал на сайт


#108

Проверка обновлений не показывает что вышла новая версия…


#109

Проверьте снова


#110

Я тогда ещё перескачал всё равно, забыл сказать, и ошибка всё ещё была.

А вот теперь да, проверка обновления сработала, в новой версии не воспроизводится.

А за это особое спасибо…