Нет. Посмотрите другие Issue. Можете писать комментарии к старым Issue
В новой версии что-то LinkedListNode сломались. То, что работало раньше, сейчас работает по-другому
function CreateSList<T>(params elems: array of T): LinkedListNode<T>;
begin
if (elems = nil) or (elems.Length = 0) then
begin
Result := nil;
exit;
end;
var l := new LinkedList<T>(elems);
Result := l.First; //Нельзя преобразовать тип T к LinkedListNode<T>
end;
Теперь l.First почему-то возвращает не ссылку на элемент, а значение первого элемента.
var l := LLst(1,2,3);
print(l.First); //1
И еще среда очень часто вылетает после нажатия хоткеев. После Ctrl+Z или Ctrl+S спокойно может возникнуть необрабатываемое исключение в приложении
Да, мы знаем об этой ошибке:
Ошибка исправлена
Да, исправлена. А я было обрадовался что и моя заработает. Ан нет… На всякий случай напомню код…
type
TF=(integer,integer);
function f(a:TF):sequence of integer;
begin
var p,q:integer;
(p,q):=a;
yield p;
yield q;
end;
begin
f((-3,5)).Println
end.
Текст сообщения об ошибке примерно тот же: Program1.pas(7) : Неизвестное имя ‘a’
Если Вы подписались на этот Issue, то Вы могли увидеть, что он закрыт. Версия на сайте
function f1(a: real): real; begin
end;
begin with f1(0.5) do //бла бла бла //эта строчка будет уезжать вниз при форматировании ; end.
Замечено, что описанная выше ошибка при выполнении оператора read возникает, если программа запущена по F9 из открытого проекта. Если просто загрузить исходник той же программы и выполнить, то ошибка не возникает. Ошибка также не возникает, если запустить программу из проекта без связи с оболочкой (Shift-F9). Версия 3.2 сборка 1439 (09.05.2017).
Какая?
PABCSystem строки 946-947
/// Устанавивает текущий каталог. Возвращает True, если каталог успешно удален
function SetCurrentDir(s: string): boolean;
удалён, да… не верю… кстати в реализации строки 6392 и 6393 строит поменять местами, на 1 операцию будет меньше (когда неудачно)
Result := True;
Environment.CurrentDirectory := s;
Создан новый консольный проект, в него скопировано содержимое примера Assign1.pas. Далее - F9, при попытке ввода для оператора readln - ошибка.
Спасибо за чёткое описание повторяемой ошибки. Увидели наконец
function a:=(true,true,true).ToString;
ожидалась не точка а точка с запятой если сделать функцией класса то ожидалась не точка а оператор
function a:=((true,true,true)).ToString;
а так у компилятора выскакивает ошибка “ссылка на объект не указывает на экземляр объекта”
знаю, можно сделать по другому и будет пахать но смысл в том чтоб в 1 строчку и в конце концов у компилятора ошибки не должны выскакивать
Всегда к вашим услугам ). Ошибка происходит в Windows 7 и в Windows 10.
Исправлено
вот эта программа выдаёт оч странную ошибку:
type//ваш форум не воспринимает это как строчку программы так что поставил отдельно, это тоже стоит исправить
c1 = class constructor create; begin var a := new real[2](3.1, 3.7); writeln(a.Select(b -> Round(b))); end; end;
begin end. image.png1364x46 4.16 KB если Select не в конструкторе - работает нормально, если убрать строчку с Select - тоже так же если занести часть с Select в отдельную подпрограмму - тоже работает
P.S.
function Select<\T1,T2>(a:array of T1;selector:T1->T2):System.Collections.Generic.IEnumerable<\T2>; begin Result := a.Select(selector); end;
type c1 = class constructor create; begin var a := new real[2](3.1, 3.7); writeln(Select(a,b->Round(b))); end; end;
begin end.
а так снова не пашет на \ не обращайте внимания, <> без него воспринимает как строчку html и вообще не пишет
У нас на форуме есть замечательная штука из markdown - выделение при помощи символа “`” строки кода или при помощи “```” многострочного кода. Подробнее можно прочесть, например, здесь или погуглить “выделение кода markdown”. Позволяет не танцевать с экранированием символов.
type
c1 = class
constructor create;
begin
var a := new real[2](3.1, 3.7);
writeln(a.Select(b -> Round(b)));
end;
end;
begin
end.
function Select<T1, T2>(a: array of T1; selector: T1->T2): System.Collections.Generic.IEnumerable<T2>;
begin
Result := a.Select(selector);
end;
type
c1 = class
constructor create;
begin
var a := new real[2](3.1, 3.7);
writeln(Select(a, b -> Round(b)));
end;
end;
begin
end.
или же BB-Code [CODE]writeln(a,b);
[/CODE]