|
|
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Я думал, компилятор выделенное давно умеет оптимизировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 11:36 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
в том числе поэтому я за with. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 12:27 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Квейд, Решается дополнительной локальной переменной (указатель на TRecord), их компилятор умеет раскладывать по регистрам если ему не мешать. with, в текущем её виде, очень опасная конструкция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 13:06 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Квейд, А оптимизацию в debug-сборке включили?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 15:13 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
alekcvp, Я проверял релизную сборку и сморел внешним дизассемблером. Оптимизации это не про дельфю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 15:29 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
alekcvp Квейд, А оптимизацию в debug-сборке включили?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 17:10 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Посмотрел FPC, он в обоих вариантах обновляет значение EAX. Дополнительная переменная ему тоже помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 17:16 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Посмотрел ещё Oxygene... Он вообще выкинул лишние операции, оставив только однократное присваивание. А чтобы он и его не выкинул пришлось в конце метода добавить вывод в консоль. Вот что LLVM животворящий умело приготовленный делает. Эх... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 17:58 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Это только с динамическим массивом, а вот с таким PRecordArray = ^TRecordArray; TRecordArray = array[0..9] of TRecord; нормально оптимизирует. И вроде бы с дин. массивом переданным как const. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 18:36 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Вот что LLVM животворящий умело приготовленный делает. Эх... :( https://wiki.freepascal.org/LLVM#Build_FPC_with_LLVM_support ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 19:29 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Sapersky, Да, я вкурсе (+18% к производительности, неплохо так). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 19:49 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
18% они получили на самом компиляторе - в целом не очень впечатляет, но это видимо из-за того, что там алгоритмы не векторизуемые и/или никто специально не затачивал под векторизацию. Если заточить, тогда должно быть больше. Видимо, это они имеют в виду под "Artificial benchmarks will also be much faster". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 20:46 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Sapersky, В том то и дело, что на обычном коде c обычным набором команд, а не на заточеном бенче. Это круто. На вычислительных задачах должно быть значительно больше, это да. Впрочем, у них и своя векторизация есть т.ч. отрыв может и не быть значительным (правда, я не смог собрать бенчик с использованием AVX, компилятор постоянно падал. Хотя, давно это было). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2020, 21:10 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Очевидно что Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. либо Код: pascal 1. Всё остальное говнокод. А ну да, в новых версиях тип auto var Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. [/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 04:45 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
И что будет в RA после таких присвоений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 11:01 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer, Код: pascal 1. будет ровно Код: pascal 1. 2. 3. 4. 100% одинаковый код листинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 13:40 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
KtoI DmSer, Код: pascal 1. будет ровно Код: pascal 1. 2. 3. 4. 100% одинаковый код листинг Учитывайте, что только в случае использования with будет изменён элемент массива RA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 14:58 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Пофантазирую... Оператору with в Паскале не хватает возможности определения алиасов. Было бы здорово иметь такой синтаксис: with myArray[i] as a, myObject as o do begin a := 1; o.Value := a; end; Это позволило бы сделать оператор with более безопасным, а синтаксис языка более приятным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 17:21 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer И что будет в RA после таких присвоений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 18:06 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer with myArray[i] as a, myObject as o do ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 18:08 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ DmSer with myArray[i] as a, myObject as o do Вместо as можно предложить и другой набор букв, это не самое главное. Да и с as можно разрулить, было бы желание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 19:03 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer with myArray[i] as a, myObject as o do В Oxygene это выглядит так: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 19:24 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer Пофантазирую... Оператору with в Паскале не хватает возможности определения алиасов. Было бы здорово иметь такой синтаксис: with myArray[i] as a, myObject as o do begin a := 1; o.Value := a; end; Это позволило бы сделать оператор with более безопасным, а синтаксис языка более приятным. Для этого with не нужен, решается через обычные переменные: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 23:17 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
alekcvp DmSer Пофантазирую... Оператору with в Паскале не хватает возможности определения алиасов. Было бы здорово иметь такой синтаксис: with myArray[i] as a, myObject as o do begin a := 1; o.Value := a; end; Это позволило бы сделать оператор with более безопасным, а синтаксис языка более приятным. Для этого with не нужен, решается через обычные переменные: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Согласен, способов написать отвратный код в Delphi предостаточно (как и везде). Я-то другое предлагаю: способ, позволяющий в некоторый случаях писать более приятный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2020, 23:47 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
IMHO, оператор width лучше реализован в VisualBasic : свойства, которые относятся к переменной из with предваряются точкой, сам символ, конечно, не важен, можно заменить на "~", например. Тогда можно писать: Код: sql 1. 2. 3. 4. 5. Конструкция, когда есть вложенные операторы width (неважно в краткой или полной записи), достаточно редки, т.к. приводят к совсем трудно понимаемому коду, но когда используются свойства в методах, это было бы удобно: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. В такой конструкции происходит присвоение битмапу размеров формы. Возможно, смысл такой записи можно интерпретировать и наоборот :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 00:27 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Символ "~" лучше определить как пространство имен окружающее текущий блок, т.е. Код: sql 1. 2. 3. 4. 5. эквивалентен Код: sql 1. 2. и Код: sql 1. 2. 3. 4. 5. 6. 7. 8. приводит битмап к размерам формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 00:54 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
x1ca4064 IMHO, оператор width лучше реализован в VisualBasic : свойства, которые относятся к переменной из with предваряются точкой, сам символ, конечно, не важен, можно заменить на "~", например. ... но когда используются свойства в методах, это было бы удобно: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. В такой конструкции происходит присвоение битмапу размеров формы. В таком коротком куске кода необходимости отмечать что-то точкой или любым другим символом нет никакой необходимости. И так всё ясно. А в кусках кода, которые не влезают на один экран оператор wit h лучше не использовать. Даже если код пишется одним автором, а не группой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 02:42 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Хотя да. Был не прав не поняв сути предложения. Но в любом случае я за явное указание: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 03:30 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
northener, Код: pascal 1. 2. И короче и надежней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 05:22 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
rgreat northener, Код: pascal 1. 2. И короче и надежней. По ощущениям: бывают ситуации, когда с with получается наглядней, поскольку производится оформление в виде блока с соответствующим отступом, например: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 08:58 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Умеет кто-нибудь искать задачи на https://quality.embarcadero.com/, касающиеся улучшения работы оператора "with"? Такое ощущение, что движок поиска удаляет это слово :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 09:00 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer, Если хочешь зафичреквестить, то такая попытка уже была: https://quality.embarcadero.com/browse/RSP-21420 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 10:08 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey DmSer, Если хочешь зафичреквестить, то такая попытка уже была: https://quality.embarcadero.com/browse/RSP-21420 Там автор хрень какую-то предложил, в итоге Марко Канто предложил выпилить конструкцию with :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 10:37 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Такой запрос хочу к ним запулить: The "with" operator in Pascal is very useful. In many cases, it improves code readability. Many programmers who communicate in the Delphi forum use it, like it, but note that there are a number of problems. Here are some of the problems: 1) it is inconvenient to debug code in the with block; 2) the danger of using the "with" operator for several elements at once; 3) if there are several variables with the same name in different scopes, it is difficult to understand which variable the "with"operator will choose. To solve these problems, I suggest adding the ability to declare aliases in the "with" operator. For example, this way (using the keyword "as" as it is done in the SQL language): with MyArrayOfRecords[i] as r, GetMyObject() as o do begin r. IntVal: = 1; r. StrVal : = 'Hello'; o. MyRec: = r; end; In addition, this would make it easier to modify elements of arrays of records (at the moment, you have to specify the array name every time or use pointers, which worsens the readability of the code). I know that the "as" operator in Pascal is already used in some cases (type casting, interface query), so you can use another keyword, this is not the most important thing. You can also consider declaring aliases that have been implemented in the Oxygene language: https://docs.elementscompiler.com/Oxygene/Statements/With/ (although, it may be less readability) Кто в английском силён, может что перефразировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 11:58 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer в итоге Марко Канто предложил выпилить конструкцию with :) Ну, он об этом давно (где-то, в районе выхода XE4) уже говорил, ещё когда обсуждался перевод "классического" кода на мобильный нексджен. Впрочем, он же говорил и о том, что не видит причин для добавления инлайновых переменных , а через релиз они появились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 12:17 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer The "with" operator in Pascal is very useful.... => Pascal’s "WITH" statement is extremely harmful and potentially dangerous. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 18:48 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё DmSer пропущено... => Pascal’s "WITH" statement is extremely harmful and potentially dangerous. С таким лучше и не пытаться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 19:05 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer Pascal’s "WITH" statement is extremely harmful and potentially dangerous Правильнее сформулировать так :) авторPascal’s "WITH" statement is potentially dangerous, and can be extremely harmful in curved hands, as russians will say. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 19:22 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev автор...and can be extremely harmful in curved hands, as russians will say. ... in the crooked hands of Russian programmers. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 19:38 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
да почему же "Russian" ... Одинаково применимо ко всей планете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 19:43 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Прошу голосовать! :) https://quality.embarcadero.com/browse/RSP-27468?filter=-2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 21:03 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer Прошу голосовать! :) https://quality.embarcadero.com/browse/RSP-27468?filter=-2 Начнутся новые тараканы, типа конфликтов имен with-алиасов с чем-нибудь. Лучше бы with вообще запретить, а ввести ссылки, как в c++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 21:10 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё Начнутся новые тараканы, типа конфликтов имен with-алиасов с чем-нибудь. С чем-нибудь это с чем? Псевдоним перекрывает любые видимые (в случае наличия локальных - ошибка компиляции) идентификаторы и действует в рамках выражения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 21:18 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey ёёёёё Начнутся новые тараканы, типа конфликтов имен with-алиасов с чем-нибудь. С чем-нибудь это с чем? Псевдоним перекрывает любые видимые (в случае наличия локальных - ошибка компиляции) идентификаторы и действует в рамках выражения. Будет миленько, когда внутри with имена членов "оголяемой" структуры совпадут с with-алиасом. ... А ссылка в с++ - это псевдоним, только без глупого with. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 21:30 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё Будет миленько, когда внутри with имена членов "оголяемой" структуры совпадут с with-алиасом. ... Доступ к членам только через псевдоним. Неоднозначности там просто не может возникнуть. Или я не понимаю о чём ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 22:01 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey ёёёёё Будет миленько, когда внутри with имена членов "оголяемой" структуры совпадут с with-алиасом. ... Доступ к членам только через псевдоним. Неоднозначности там просто не может возникнуть. Или я не понимаю о чём ты. То есть, прежний паскаль-код компилироваться не будет? Заради чего тогда вообще with сохранять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 22:35 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё То есть, прежний паскаль-код компилироваться не будет? Ну да. ёёёёё Заради чего тогда вообще with сохранять? Удобная штука, иногда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 23:03 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
То есть, прежний паскаль-код компилироваться не будет? Почему не будет? Прежний код будет работать как и прежде. Но если задан алиас, то работать только через алиас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 23:20 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer, В таких изменениях смысла нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 23:24 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer То есть, прежний паскаль-код компилироваться не будет? Почему не будет? Прежний код будет работать как и прежде. Но если задан алиас, то работать только через алиас. А если Код: pascal 1. 2. 3. 4. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2020, 23:55 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё DmSer пропущено... Почему не будет? Прежний код будет работать как и прежде. Но если задан алиас, то работать только через алиас. А если Код: pascal 1. 2. 3. 4. ? Значит обращаться можно будет: 1. К переменным a, b, c 2. К внутренностям c. Обращение к внутренностям a возможно только через указание a или алиаса b. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 00:07 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey DmSer, В таких изменениях смысла нет. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 00:08 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer ёёёёё пропущено... А если Код: pascal 1. 2. 3. 4. ? Значит обращаться можно будет: 1. К переменным a, b, c 2. К внутренностям c. Обращение к внутренностям a возможно только через указание a или алиаса b. О чем я о сказал: 22062685 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 00:21 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Нынче можно и так извратиться. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 00:54 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
DmSer Почему? Потому что нет смысла вводить новую сущность, если она не избавляет от старых проблем. Тут нужно, либо полностью отказываться от with, чего не хотелось бы, либо делать псевдонимы безальтернативными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 01:06 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
rgreat northener, Код: pascal 1. 2. И короче и надежней. В таком простом случае да. И я тут скорее всего так и написал бы (особенно учитывая старые сложности с просмотром в отладчике значений). Но если полей объекта/записи несколько больше чем два, то с with всё-таки короче а порой и наглядней как заметил DmSer . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 02:23 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
WITH - такая же неотъемная и полезная часть языка, как и READLN/WRITELN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 02:46 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Эх не сталкивались Вы с тем, что может навсегда привить стойкое отвращение к конструкциям типа with. Представьте себе старинный, унаследованный код, процедура длиной около 5000 строк, в процедуре три вложенных цикла и два вложенных with.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 06:56 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Sinemurius в процедуре три вложенных цикла и два вложенных with.... Мелочи какие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 07:02 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Учитывая уже добавленные инлайн переменные, максимум, что они могут сделать, это Код: pascal 1. 2. остальные варианты конструкций вряд ли будут вводить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 10:50 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Sinemurius Эх не сталкивались Вы с тем, что может навсегда привить стойкое отвращение к конструкциям типа with. Представьте себе старинный, унаследованный код, процедура длиной около 5000 строк, в процедуре три вложенных цикла и два вложенных with.... Вообще-то процедура в 5000 строк и без with может привить стойкое отвращение к чему угодно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 12:00 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
ёёёёё DmSer пропущено... Значит обращаться можно будет: 1. К переменным a, b, c 2. К внутренностям c. Обращение к внутренностям a возможно только через указание a или алиаса b. О чем я о сказал: 22062685 Для варианта без алиаса можно выводить предупреждение "deprecated". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 12:14 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Sinemurius, да ничего такого. главное каши в названиях не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 18:41 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Василий 2 Учитывая уже добавленные инлайн переменные, максимум, что они могут сделать, это Код: pascal 1. 2. остальные варианты конструкций вряд ли будут вводить Нормальный вариант! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 19:53 |
|
||
|
with и без with
|
|||
|---|---|---|---|
|
#18+
Для классов это и так работает. достаточно заменить with на begin. Проблема с рекордами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 19:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038681]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 385ms |

| 0 / 0 |
