Ошибки PascalABC.NET


#1535

Можете объяснить, что такое тайпкласс? Это аналог интерфейса?


#1536

Он работает как интерфейс, но только во where и его можно как экстеншн метод, делать для стандартных типов, чтоб, к примеру, IList и IDictionary назвать 1 именем, и, к примеру, получить свойство Count (у них оно по разному описано, без них никак). Точный синтаксис, пока лучше не говорить, потому что они, похоже, ещё совсем не готовы.


#1537

Буду иметь ввиду, что “мало кто пользуется” и “никто не пользуется” - одно и то же.

Он нужен при решении некоторых задач.

Согласен, только Паскаль не наследовал Decimal от C#. От .NET - да.

А я по-вашему только этот форум и читаю? Наивно.

Я не критиковал Decimal. Моё сообщение о том, что данный тип работает медленнее, не имеет ничего общего с критикой. Этот факт определён самой структурой типа. И опять таки, это не значит, что тип плохой и бесполезный.


#1538

тут

Умножение процедуры на число

procedure p := Write(1);
procedure q := Write(2);
procedure ln := Writeln;
procedure Run(p: procedure) := p;

begin
  a1 := p*10 + ln; **//Пропущено var**
  a1;
  a1 := p*10 + q*10 + ln;
  a1;
  Run((p + q)*10 + ln);
end.

Дальше:

Лямбда-выражения

Эквивалентный код без лямбд

function Cond(x: integer): boolean;
begin
  Result := x mod 2 = 0;
end;

function Fun(x: integer): boolean; **//integer а не boolean**
begin
  Result := x*x+1; **//а откуда +1?**
end;

begin
  var a := Arr(1,2,3,4,5,6,7,8,9);
  a.Where(Cond)
  .Select(Fun).Println;
end.

Ещё

Типы процедурных переменных

real->real – тип функции с параметром типа real, возвращающей real
(real,real)->real – тип функции с двумя параметрами типа real, возвращающей real
()->integer – тип функции без параметров, возвращающей real //А по моему integer
(real,real)->() – тип процедуры с двумя параметрами типа real

Это, скорее всего, не всё. Как насчёт просмотреть всё же презентации, перед тем как постить?)) (ну и теперь, те что запостили, это всё сразу в глаза бросается)


#1539

Ничего не понял. Слайд про умножение процедуры на число не про лямбды


#1540

Как это, вы дальше пролистайте. Сами же давали тут ссылку на неё, когда спросили про лямбды.

А пост мой, если что, про опечатки которые я там нашёл.


#1541

Я долго боялся, но вот очень понадобилось и всё же пришлось влезть во всю баганутость проектов WinForms (той самой функции IDE). Вам как, баги тамшние надо в issue? Там наверное штук 10-20 будет только для начала…


#1542

Это никто не будет переделывать я думаю. Мы тоже боялись туда влезать. При необходимости мы закроем эту часть. Раз уж мы стали очищать всё от багов


#1543

Фигасе! Т.е. по принципу гильотина – лучшее средство от головной боли? :hushed:

Был вполне рабочий web-интерфейс – закрыли (ну, ладно, тому были объективные причины – закончилась целая эпоха проприетарных web-плагинов и там уже нечего было реанимировать без глобальной переделки на базе других технологий), теперь вот даже простой и удобный редактор формочек хотите пустить под нож лишь на основании того, что кто-то обратил внимание, что он несовершенен, а ремонтировать пока некому?!

Так скоро от “мощной среды разработки” вообще ничего не останется :frowning_face: Могу добавить, что еще редактор весьма несовершенен, подсветка кода кривая, темы не поддерживаются, дебагер глюканутый, интеллисенс иногда фигню показывает, анализатор время от времени вообще падает, да еще и с потерей контекста, и сама среда, бывает, крашится ни с того ни с сего… Давайте уж сразу все это “закроем”, чтоб не мучаться, и оставим только голый компилятор! Хотя, нет, он тоже иногда крашится… Доктор сказал в морг – значит в морг! :smiling_imp:


#1544

Вы хотите сказать, что уже есть кому? :smile:

Ура, у нас скоро будет работающий редактор формочек, редактор кода с фановской подсветкой и поддержкой ништяков, дебагер для правильных пацанов (без глюков) и волшебный интеллисенс!


#1545
uses Graph3D; 
var Pz:=Sphere(0, 0, 0, 0.2, colors.Blue);
begin
Window.Maximize;
Camera.UpDirection:=V3D(0,1,0);
Camera.Position:=P3D(0,0,30);
Camera.LookDirection:=V3D(0,0,-30);
for var i:=0 to 4 do
  begin
Pz.MoveTo(1, 0, 0);
//Pz.MoveOn(1, 0, 0);
//Pz.AnimMoveOn(1, 0, 0, 5).Begin;
//Pz.AnimMoveTo(1, 0, 0, 5).Begin;
  end;
end.

Объясните мне, пожалуйста, почему в этом коде операторы MoveTo и AnimMoveTo работают по-разному, это ошибка? Если нет, тогда в чем отличие между AnimMoveOn и AnimMoveTo?


#1546

Вообще не понял, что за передергивание! Вам с утра скучно, что-ли? Или просто лень в своей будущей книге про формочки писать? Смысл моего послания был совсем не в том, чтобы постебаться свысока над косяками или намекнуть на некомпетентность разработчиков.

НО! Помимо дежурных багов, разных недоделок и несовершенств в проекте – полно, и они всем, кто достаточно давно им пользуется, хорошо известны. Мой тезис как раз в том, что нерезонно вдруг убивать весьма полезный функционал только на основании того, что он до сих пор не доведен до идеала, а по разным причинам им некому вплотную заняться.

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

Вот кому этот редактор сейчас жить-то мешает? Что проект выиграет, если его отпилят? Мне кажется, разработчики просто поддались некоторой панике из-за этого “молдавского” всёпропальщика и теперь, что называется, уже просто “дуют на воду” – баги же!


#1547

Видите ли, а у меня несколько другой тезис. Довольно известный. Критикуя, предлагай своё. Критика с предложением - это и есть критика. Критика без предложений - это просто ругань. Предложений конкретных я пока, извиняйте великодушно, не прочитал. Предложение - это не “указивка”, что сделать надо, а кому и как сделать.


#1548

Вам все время что-то своё мерещиться в моих словах. Я нигде никаких указивок никому не давал, а моё предложение очевидное – даже если по какой-либо причине не можете дальше что-то развивать или доводить до ума (то, что уже давно и весьма неплохо работает и кем-то реально используется), просто не трогайте это, пусть живет, как есть! Зачем сразу под нож-то?!

А что касается недостатков, то они есть всегда и у всех, и если хочешь развиваться, то не нужно их боятся признавать. И уж точно не стоит сразу остро реагировать, когда кто-либо их упоминает. Разберитесь для начала, с какой целью они были упомянуты. Но я в данном случае даже не критиковал сам проект, а критиковал странное, на мой взгляд, решение резать слегка хромую, но рабочую лошадь, когда других-то все равно нет и даже не предвидится.


#1549

Не только в Ваших. В словах тех, кто ничего для проекта не делает, но пытается бороться за какие-то, по его мнению нужные вещи, даже не будучи в курсе причин, по которым разработчик говорит о тех или иных вариантах выхода из проблемы. Все эти “надо сохранить”, “зачем убирать” и тому подобное - Вы сами когда-нибудь были автором проекта, который обсуждали его пользователи и “настойчиво рекомендовали” Вам, как поступать с теми или иными проблемами? Я - был. И никому не желаю “побывать в шкуре”.


#1550

Я не понял, вы тут бесплатным адвокатом работаете что-ли? Давайте вы не будете додумывать на свой лад ни за авторов проекта, ни за их пользователей! Мой изначальный пост к вам вообще не относился, чего вы встряли-то со своим особым мнением?! Вы все больше начинаете походить на какого-то фанатичного сектанта своим поведением – мгновенно набрасываетесь на любого, кто посмеет тут что-то предложить или (не дай бог!) покритиковать. Оставайтесь “в своей шкуре” и не пытайтесь устанавливать свои порядки, вам никто здесь право модератора не давал.

З,Ы, Вас послушать, так это только вы тут самый главный и полезный контрибутор, а все остальные участники – просто никчемные критики и бестолковые фантазеры, только зря отвлекающие разработчиков вашей любимой игрушки для хобби.


#1551

Я выражаю свое мнение точно так же, как это делаете Вы. И прав на это у меня ровно столько же. Я не буду писать о том, кого мне напоминаете Вы, просто сошлюсь на старый анекдот.

Английский бизнесмен получил письмо от коллеги. Письмо гласило:

“Дорогой сэр, поскольку моя секретарша - дама, я не могу продиктовать ей то, что о вас думаю. Более того, поскольку я джентльмен, я не имею права даже думать о вас так. Но, так как вы ни то, ни другое, я надеюсь, вы поймете меня правильно”


#1552

Да ладно)). Мне вот оно понадобилось чтоб зрительно расставить элементы формы. А потом просто копирую координаты в нормальную программу. Как ни крути, даже с багами, это удобнее чем вслепую координаты вписывать, а потом смотреть не налезло ли 1 на другое. И так loop 100 do.


#1553

Anim это сокращение от “Анимация”. То есть просто Move телепортирует объект, а AnimMove плавно сдвигает его.

А MoveTo и MoveOn отличаются тем относительно чего они двигают. То есть MoveTo(1,0,0) сдвигает в точку (1; 0; 0), а MoveOn(1,0,0) сдвигает на 1 в сторону X+, относительно того где был объект когда началась анимация. Если он был в точке (5; 2; 3) - MoveOn(1, 0, 0) сдвинет его в точку (6; 2; 3), а MoveTo(1, 0, 0) сдвинет его в точку (1; 0; 0).


#1554

По моему, хоть пишете Вы с @RAlex-ом много, но сути, кроме выяснения отношений, мало.

Никто не собирался полностью отказываться от редактора формочек, но вы вот попробуйте что то в нём сделать. Это не те баги компилятора, которые встречаются раз пару дней. Тут каждые 5 мин бьёшься бошкой о что то сырое и твёрдое. Как 1 из главных фич в таком состоянии это нельзя позиционировать, особенно считая что нет ни 1 разработчика, которому интересно было бы исправить всё это (хотя, кстати, им может стать каждый желающий. К примеру Вы).

Мне вот, когда я учился, 1 из учителей сказал что мне стоит научится в этом редакторе формочек работать, типо это очень важное умение. Ну и тогда я на долго вперёд ужасов насмотрелся. Так может любой новичок туда случайно залазить, а потом привыкает работать без анализатора кода и в условиях что лишнее лучше не трогать, а то ломается всё (был уже 1 такой, в помощь новичкам писал). А для карьеры программиста это как яд.