Замечания и предложения


#447

В смысле Visual Studio? У меня как и в .bat, C:\Program Files (x86)\Microsoft Visual Studio\, но в этой папке только 1 файл - C:\Program Files (x86)\Microsoft Visual Studio\COMMON\IDE\IDE98\ASP.TLB, и папок кроме COMMON, IDE и IDE98 нету. Больше отсутствующих путей не нашёл в .bat файле (я не проверял файлы с PABC в названии).


#448

Ищите папку, в которой у Вас устанолена Visual Studio 2017. И перепропишите пути в bat-файле. Если Вы этого не сможете сделать, то дальше двигаться нельзя


#449

У меня через bat давно не получалось, так что просто открываю Visual Studio, выбираю проект pabcnetc.sln, компилирую, закрываю, открываю PascalABCNET.sln, компилирую, потом выхожу из Studio и запускаю PascalABCNET.exe. Можно ещё перед компиляцией Debug на Release заменить.


#450

Надо разобраться чтобы получалось


#451

Ладно тогда как то в другой раз, я сейчас оптимизацией 3D графики голову забиваю так что в студию устанавливать и разбираться не буду лучше… Ну если кто то для меня файл установщика кинет - я протестирую с радостью. Вот изменённый PABCSystem.


#452

Изменения рассматриваются и принимаются только через пулл-реквесты.


#453

Студия не установлена


#454

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


#455

Ну, ставьте Community-студию и тестируйте. Без студии никуда…


#456

Увидел, что в сборке 1602 от 28.12.2017 наконец-то закрыли issure по поводу введения синонима ** для Power(). Увидел также перегрузки для . Но пока что не удалось воспользоваться этой операцией. Выражение Writeln(210) напрочь бракуется компилятором c выдачей сообщения “Встречено ‘*’, а ожидалось выражение”. Я что-то неверно понял?

Похоже, что в сборку 1602 попало не все, что сейчас отмечено исправленным на ГитХаб. В самом деле, там изменения датированы даже 30.12.2017. Собственно, это то, о чем уже не раз говорилось: когда выходит новая сборка, очень непросто понять, что в ней нового или исправленного по сравнению с предыдущей сборкой.


#457

закрыли только вчера, а вчера было 29-е


#458

Да вот купился на то, что новая версия от 28-го появилась 30-го. Непринципиально, что пока нет **, главное - вопрос полуторагодичной давности решился)))


#459

Странно, а я вроде раньше её скачать смог… Насчёт реализации - для всех ** было использовано обычное Power(real,real):real. Может стоит для integer сделать Power(integer,integer):int64? Я мог бы реализовать 1 из быстрых алгоритмов для целочисленного возведения в степень и сделать пулл реквест. Есть какие то принципиальные возражения почему это не подходит паскалю?


#460

Это нельзя сделать, так как степень может быть отрицательная. А ограничителей where T: integer and T > 0 у нас нет.


#461

Главное, чтобы появилась операция **, а уж перегрузить её, если что, можно и самостоятельно. Конечно, приятнее, привычнее и короче было бы видеть не , а ^, но уж коль Н.Вирт закрепил за ^ указатели - тут уж не попляшешь. У меня вот чешутся руки на возведение в степень матриц и простых дробей, потому что через Power() некрасиво смотрится. Ведь тогда можно определить для матрицы a(-1) как операцию нахождения обратной матрицы и это куда ближе к принятой в линейной алгебре нотации, чем a.Inv или Inv(a).


#462

Ну да действительно… Кстати новая версия только что вышла.


#463

Кстати, интересно, когда в PascalABC.NET появятся refinement types…


#464

Ну, были тут обсуждения:

Julbin считает, что это затратно. А у нас эффективный компилятор :slight_smile:


#465

В таком случае может сделать директиву на это?


#466

Ну да: Вы сделаете, а мы - директиву :smiling_imp: