Ошибки PascalABC.NET


#1058

Как то у вас всё перемешано в кучу… Ловите первую issue. Там их ещё с десяток)))


#1059

Первая ваша issue про авто класс и анализатор кода, то что я только что залил, а со второй я уже опередил. Немного не так показано но вроде это то же самое.


#1060

Вот остальные 2:


#1061

В идеале так и должно быть: стандартный вывод через метод расширения для любого стандартного типа. Но тип char – очень логичная кандидатура для реализации из оставшихся нечисловых:

  • он простой и реализация метода для него тривиальна;
  • он часто используется в выражениях с элементами типа string, для которых такая функциональность уже есть;
  • он может неявно автовыводиться при работе с символьными константами, когда разницы по смыслу между string’ом и char’ом нет никакой (только разное кол-во символов в константе).

#1062

Нет, string - это последовательность, а char - элементарный тип. В этом их существенная разница.

У нас была мысль сделать Print для всего и мы пока от неё не отказались. Но - боимся


#1063

Операция вывода все равно медленная, может быть, элементарный тип перед выводом превращать в последовательность из одного элемента и уже затем отдавать в Print? Скажем, в качестве временной меры…


#1064

Когда появится возможность создания пространств имён? Было бы интересно посмотреть на реализацию dll-ок с несколькими пространствами имён на Паскале.


#1065

Ошибка: Program142.pas(7) : proc не объявлен в типе b

type
  b = class;
  a = class 
    function proc(): b;
    begin
      //new 
      writeln(result.proc); 
    end; 
  end;
  b = class 
  public 
    function proc(): a;
    begin
    end; 
  end;

begin
end.

#1066

Это ошибка программиста. В Delphi и C++ тоже так: если класс предварительно описан, то можно пользоваться только его именем - ничем более.

Опять-таки, это разрешается объявлением заголовка метода с последующим определением его когда тип b будет полностью описан


#1067

Очень часто бывает, что “Ошибка времени выполнения: Индекс находился вне границ массива.” указывает на операторные скобки (begin). С чем это может быть связано? 7ml2xoxIo_8


#1068

Смотрите на следующую или предыдущую строчку, вроде все .Net языки имеют свойство время от времени промахиваться со строчкой ошибки.


#1069

Itellisence не понимает список, полученный из строки. 2018-02-20_100947


#1070

12 сообщений перенесены в новую тему: Ошибки, происходящие от незнания различия между Read и Readln


#1071

Нельзя раширять операции +,+=,-,-= для делегатов

Зачем это ограничение?


#1072

По той же причине, почему нельзя расширить эти операции для integer


#1073

В смысле? Для integer их можно расширять.


#1074

специальные операции для делегатов, не имеющие ничего общего с арифметическими. их нельзя расширять.


#1075

Хотел спросить. Почему не работает это:

type
  T1<T> = class
    event E1: procedure;
    
    procedure TryE1();
    begin
      if E1 <> nil then E1();
    end;
  end;

begin
  var Obj := new T1<integer>();
  Obj.E1 += Halt;
  Obj.TryE1();
end.

?


#1076

Это так же самая ошибка что и тут?


#1077

Да, та же самая. Прошу исправить данный баг как можно скорее поскольку сильно мешает нормальному написанию кода. Заранее благодарен.