|
|
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Модератор: "Стартовое" сообщение (сместилось после переноса): DmSer Предлагаю вынести обсуждение улучшений оператора with в данную ветку. Ранее была создана задача, где предлагается ввести алиасы в оператор with. Вот ссылка на неё: https://quality.embarcadero.com/browse/RSP-27468 Если Вам нравится идея и Вы ещё не принимали участие в голосовании, то обязательно проголосуйте, Ваш голос имеет значение! Благодаря алиасам можно исправить фундаментальные проблемы оператора with, из-за которых Марко Канту уже который год грозится выпилить его из Delphi. Одно из предложений было оформлять алиасы с помощью ключевого слова "as". В этом случае код может выглядеть таким образом: Код: pascal 1. 2. 3. 4. 5. 6. _Vasilisk_ Код: pascal 1. 2. 3. 4. 5. 6. 7. try..finally ради одной безобидной строчки выглядит как-то нерационально. Какой в ней смысл? Кто такое правило ввёл? Одну строчку без try..finally ещё нормально, а вот 2 строчки - уже лажа получается. Нужно предложить эмбаркадере ещё один вариант использования оператора with: Код: pascal 1. 2. 3. 4. это тупо синтаксический сахар над try..finally. либо может более универсальное: Код: pascal 1. 2. 3. 4. в таком случае пусть компилятор будет вспоминать, у кого Enter/Leave, Lock/Unlock, wait/release и т.д. получится на 2 строчки короче, нежели с try..finally: Код: pascal 1. 2. 3. 4. 5. 6. Как считаете, смысл есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 10:42 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer, экономия на спичках, имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 15:46 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
With - зло! Лучше бы конструкцию Код: pascal 1. 2. 3. 4. замутили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 15:54 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer Как считаете, смысл есть? 1. Только если будет возможность подключать свои syncobjects. Например, через интерфейс. 2. Лучше не with, а какое-нибудь другое ключевое слово. Тот же using. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 15:55 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat With - зло! with - отличная штука, которой не хватает единственной маленькой доработки для того, чтобы быть просто великолепной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 15:56 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer, Какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 15:56 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 16:18 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
С вложенными точками, надо полагать? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 16:35 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer Код: pascal 1. 2. Но не решит проблему для нескольких переменных: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 16:50 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
За улучшение with можно голосовать: https://quality.embarcadero.com/browse/RSP-27468 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 17:08 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer> Но не решит проблему для нескольких переменных: Да, если вложенные ещё можно как-то (уродливо, ИМХО) разрешить, то с несколькими вроде бы совсем никак. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 17:15 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer Но не решит проблему для нескольких переменных: Для нескольких переменных решат алиасы: Код: pascal 1. 2. Но я не уверен, что это действительно нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 17:25 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer with - отличная штука +1 Kazantsev Alexey За улучшение with можно голосовать: https://quality.embarcadero.com/browse/RSP-27468 done понимаю, что холивар. Только какой смысл в алиасах? имхо, красота with в краткости и отсутствии необходимости писать еще что-то слева от свойства/метода. Вряд ли в него будешь заключать портянки кода на 2-3 экрана зы. на скруле всегда так, как только тема исчерпывается, начинается оффтоп. Ура, Рустему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:06 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer DmSer Но не решит проблему для нескольких переменных: Для нескольких переменных решат алиасы: Код: pascal 1. 2. Но я не уверен, что это действительно нужно. Первые пару дней 10 человек проголосовали, затем задача ушла из топа. Думаю, голосов было бы намного больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:07 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Док> Только какой смысл в алиасах? В зависимости от ситуации, смыслов у алиаса может быть более одного. В SQL кроме красоты/краткости это ещё и правильное разрешение имён. > Вряд ли в него будешь заключать портянки кода на 2-3 экрана Ты недооцениваешь умельцев. > начинается оффтоп. Ура, Рустему Опять я виноват? Почищу позже (если не забуду). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:09 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer Для нескольких переменных решат алиасы: Код: pascal 1. 2. Но я не уверен, что это действительно нужно. Это почти то же самое что и Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:15 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Док Только какой смысл в алиасах? Одноимённые члены резолвить без псевдонимов не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:34 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat Это почти то же самое что и Код: pascal 1. 2. 3. А так работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:42 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
softwarer, Да. С 10.3 начиная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 18:49 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
В общем, как появился инлайн var так надобность в with практически отпала. По крайней мере мне такие случаи почти не попадаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:00 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Предлагаю вынести обсуждение улучшений оператора with в данную ветку. Ранее была создана задача, где предлагается ввести алиасы в оператор with. Вот ссылка на неё: https://quality.embarcadero.com/browse/RSP-27468 Если Вам нравится идея и Вы ещё не принимали участие в голосовании, то обязательно проголосуйте, Ваш голос имеет значение! Благодаря алиасам можно исправить фундаментальные проблемы оператора with, из-за которых Марко Канту уже который год грозится выпилить его из Delphi. Одно из предложений было оформлять алиасы с помощью ключевого слова "as". В этом случае код может выглядеть таким образом: Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:02 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Все проблемы с With решаются игнорированием правил старика Вирта и выдачей ошибки (или хотя бы предупреждения) если идентификатор в коде ресольвится более чем в один объект вместо примитивного "молча возьмём тот, что ближе" ака "кто последний, тот и папка". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:05 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Ещё я предлагаю рассмотреть идею нового варианта использования оператора with для работы с примитивами синхронизации: Код: pascal 1. 2. 3. 4. CS - это критическая секция, хотя можно пофантазировать и насчёт других объектов синхронизации (мьютексы, эвенты, спинлоки, TThreadList, объекты, поддерживающие общий интерфейс для синхронизации) получится на 2 строчки короче, нежели с try..finally: Код: pascal 1. 2. 3. 4. 5. 6. Вот коробит меня использовать try..finally для защиты всего лишь одной строки кода. А в случае with было бы нагляднее (по моему мнению). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:14 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer, А обработка ошибок у тебя в таком варианте где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:17 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Не поддерживаю. Язык должен быть понятным. А это уже лапша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:21 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Не поддерживаю. Язык должен быть понятным. Код: python 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:28 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat Это почти то же самое что и Код: pascal 1. 2. 3. Во-первых это копирование. Во-вторых, с записями такая конструкция не прокатит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:35 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Разве когда он скомпилирует код, ассемблерный лист не будет идентичен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:38 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, помогите, пожалуйста исправить такую программу: cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' - не печатает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:44 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Потому и "почти что". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 19:48 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Ну регулярные выражения Это Святое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 20:02 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat DmSer, А обработка ошибок у тебя в таком варианте где? Тот же try..finally, только за ширмой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 20:28 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer, В итоге еще длиней чем сразу через try сделать выйдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 20:30 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat DmSer, В итоге еще длиней чем сразу через try сделать выйдет. Наоборот, короче на 2 строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 21:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Все проблемы с With решаются игнорированием правил старика Вирта и выдачей ошибки (или хотя бы предупреждения) если идентификатор в коде ресольвится более чем в один объект вместо примитивного "молча возьмём тот, что ближе" ака "кто последний, тот и папка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 21:17 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer, Представь сколько символов можно было сэкономить на then - begin используя простую { Притом прям на строке с if условием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 21:17 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный DmSer, Представь сколько символов можно было сэкономить на then - begin используя простую { Притом прям на строке с if условием. Представляю. С помощью фигурных скобок очень многие вещи получаются компактнее. Иногда завидую. С другой стороны c# всё продолжают и продолжают уродовать. С begin..end бы они так не разбежались! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 21:37 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
В общем, нужны нормальные с++ ссылки (фактически, алиасы). With - не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 22:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъWith - не нуженНе умеешь готовить )) Достаточно чтобы отладчик поля прорисовывал, ну и иногда какой-нибудь "WithSelf" не помешал бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 22:27 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъВ общем, нужны нормальные с++ ссылки (фактически, алиасы)Так есть var уже в любое место, чем не ссылка или алиас вкупе с магией разыменования указателей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 22:46 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Bred eFeM ъъъъъWith - не нужен Достаточно чтобы отладчик поля прорисовывал, ну и иногда какой-нибудь "WithSelf" не помешал бы. Уже больше полувека как (с 1969года), а отладчик такого не умеет. With - не нужен. Дешевле отказаться, чем продолжать дальше тянуть эту колченогую конструкцию. Достаточно алиасов, ограниченных текущим scope, как в нынешних var. Типа: Код: pascal 1. 2. 3. 4. 5. Как только появятся алиасы, with перестанет применяться, и в следующей версии его можно спокойно выпиливать. И, наличие инлайн переменных уже делает бессмысленной любимую некоторыми глупость Код: pascal 1. 2. 3. Для полноты, хорошо бы ввести в язык полноценный RAII, и тогда потихоньку сами собой отвалятся и try-finally... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 22:56 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Bred eFeM чем не ссылка Всем не ссылка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 22:58 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъ With - не нужен. Нужен))) Приведу свой код Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. Приводить CurrentPHP к каждой функции и всему остальному, будет достаточно сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:02 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Няшик, ну говнокод же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:09 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Bred eFeM чем не ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:30 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Поясни за говнокод. Нормальный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:37 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Ты просто не понимаешь, что я могу разделять загруженные PHP библиотеки на разные структуры, тем самым заставляя каждый поток работать со своим PHP классом. Вот и выходит что это качественный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:39 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Bred eFeM ъъъъъ пропущено... Всем не ссылка. With - не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:41 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Поясни, в какой сфере он не нужен. Или он не нужен вообще. А если он вообще не нужен, то почему он в таком случае не нужен? Данная конструкция тебе что, прикусила во время ом ? Генерируемый ассемблерный листинг, 100% идентичен и без конструкции with. Что и с with ... Ты выражаешься не ясно, и непонятно. Не поясняешь и не акцентируешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:50 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Вот почему я не могу использовать with если генерируемый код идентичен коду, который без with с указанием прямой структуры или класса ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2020, 23:51 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Хочу познать этот дзен, почему with не нужен. От сей опытного человека, который так сильно об него обжёгся и весь код пошёл по ступенькам с небес в ад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 00:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Хочу познать этот дзен, почему with не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 01:55 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
white_nigger, То есть проблема в самом программисте, а не в конструкции. Если данная конструкция вложена в процедуру события какого - либо объекта, и надо в конструкции обратится к переменной класса. Я ведь просто напишу Self. и мне выдаст функции\переменные текущего класса, самого события. А по умолчанию, все функции\переменные принадлежат объекту верхнего уровня, вложенного в with И генерируемый код ассемблера мало чем отличается по итогу, если бы я изначально приписывал к каждой функции \ переменной нужный мне объект, вложенного в with ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 02:08 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Я давно уже за идею Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 10:23 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer Одно из предложений было оформлять алиасы с помощью ключевого слова "as" Код: pascal 1. ну и придется запретить with без алиасов. Иначе все бессмысленно Dimitry Sibiryakov Все проблемы с With решаются игнорированием правил старика Вирта и выдачей ошибки (или хотя бы предупреждения) если идентификатор в коде ресольвится более чем в один объект Более того, может быть такое поведение стоит расширить на любое пересечение идентификаторов в текущей зоне видимости. Но это уже может быть больно. А вообще, как здесь правильно заметили, с инлайновыми переменными with вообще бессмыслен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:03 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Эмм. Мне кажется Сэр, вы используете with совершенно не по назначению, и не понимаете его суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:22 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ ну и придется запретить with без алиасов. Иначе все бессмысленно имхо, оно того не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:25 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, В таком исполнение - конструкция, как и задумывалась - идеальна!. Ибо все свойства \ функции доступны верхнего объекта Sender as TButton Код: pascal 1. 2. 3. 4. 5. 6. 7. Высшим приоритетом! А все остальные уже поданные. И такую конструкцию на инлайн не променяешь. Потому что вы сами должны понимать, что придётся создавать переменную, и прописывать её ручками к каждому свойству. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:26 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Так уже работает Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:36 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Uridian, Оно и без скобок работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:38 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 12:38 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Г-споди, какой хернёй вы страдаете. Почему вы не пишете на сразу php, зачем вообще нужен этот изврат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 13:02 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Хочу познать этот дзен, почему with не нужен. Потому что нужны более удобные инструменты, чем копипаста с with. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 13:05 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный DimaBr, Это не имеет практичности на жизнь. Жизнь, она у всех разная. Не нужно по своей жизни судить всех остальных. Лично мне, порой не хватает конструкции AS (или подобной) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 13:29 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DimaBr, Если ты хотел сделать Код: pascal 1. То сделай это хотя бы так Код: pascal 1. 2. Но странно, что это не работает как первый вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 13:49 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий _Vasilisk_ну и придется запретить with без алиасов. Иначе все бессмысленно ВсеРазумный Высшим приоритетом! А все остальные уже поданные. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ВсеРазумный Потому что вы сами должны понимать, что придётся создавать переменную, и прописывать её ручками к каждому свойству. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:01 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal, Извращенци. Код: pascal 1. 2. К тому же,всю логику with убиваете! По рукам вам за такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:01 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Сказочники. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И ASM с обычным присвоением без with Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Сделает тоже самое. Не надо тут ЛяЛя ТраПоля На коне мы катались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ И это замечательно Отстаньте от оператора with если не понимаете его логику. Вам Дай Атомную Электростанцию, вы на ней будете мороженное выпускать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:05 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Код: pascal 1. Сделает тоже самое. То же самое ? А подразумевалось установить ширину формы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:16 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DimaBr, Я СКОЛЬКО РАЗ ПИСАЛ!!! Вы чё, совсем без мозгов что ли? Смысл WITH в том, что в приоритете функции и свойства установленного объекта в WITH ОН РАБОТАЕТ КАК И ДОЛЖЕН. ЖОПА ОТ ВАС ГОРИТ, ТАКИХ ПРОФЕССИОНАЛОВ DELPHI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:18 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный DimaBr, Я СКОЛЬКО РАЗ ПИСАЛ!!! Вы чё, совсем без мозгов что ли? Смысл WITH в том, что в приоритете функции и свойства установленного объекта в WITH ОН РАБОТАЕТ КАК И ДОЛЖЕН. ЖОПА ОТ ВАС ГОРИТ, ТАКИХ ПРОФЕССИОНАЛОВ DELPHI Все прекрасно знают как он работает, просто вы даже не читаете текст Все просто замечательно, пока в объекте не появится новое свойство, которого не было в предыдущих версиях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:21 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DimaBr, А причём тут with ?! Если в старых версиях Delphi разрабы ложанулись, и не сделали функционал TRect А в будущем допилили до идеала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:23 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DimaBr, Тем более я писал, если вы хотите из with обращаться к функциям формы и свойствам. Нужно использовать self. в with Ибо with отвечает только за установленный объект в with ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:24 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Смешней наоборот, когда из TRect Width выпилят или переименуют. Вот тогда реально хохма внутри with происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:44 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, Вы такие сказочники, ей богу. Вам with вообще не нужен, потому что вы хотите взять переменную на объект в with А with нужен для быстрого заполнения структур или объектов. Без ссылки для всех свойств \ функций и прочего. Если вы не готовы поддерживать прошлые версии Delphi Или будущие. То зачем вам вообще with модернизировать? В старых проектов он не будет работать. А в новых вы его юзать по всем тем же проблемам не будете. ВЫ Как дети из детсада - хочу, сделайте. Но я не буду с этим играть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:54 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Я кстати ничего не имею против, что бы with поддерживал такое Код: pascal 1. Это правильная архитектура. Никаких алисов и прочего. Мы берём, и присваиваем к переменной объект. Именно и надо добиться того что бы в будущем, все условия могли быть новыми переменными. Как это сделано в других языках Код: plaintext 1. 2. НО Опять же есть те, кто считают что это языку не нужно например с СИ и СИ++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 14:57 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Сказочники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:02 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Я кстати ничего не имею против, что бы with поддерживал такое Код: pascal 1. Это правильная архитектура. Никаких алисов и прочего. Мы берём, и присваиваем к переменной объект. В случае объектов это будет работать, в случае записей - нет. Для записей нужны алиасы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ ВсеРазумный Сказочники. Тссс... не спугни! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Вашей Delphi 7 уже 18 лет. Уже совершенно летняя, что бы перестать её опекать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:04 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer В случае объектов это будет работать, в случае записей - нет. Для записей нужны алиасы. Будет и для записи работать! Потому что это присвоение обычной переменной на запись. Которое аналогично и вне with ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:06 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный А with нужен для быстрого заполнения структур или объектов. Без ссылки для всех свойств \ функций и прочего. А вообще я не против адекватного with, если таковой будет. Я против использования существующего. Но я пока красивых предложенных вариантов не видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:07 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, В том - то и прелесть, что мы можем обращаться к любым свойствам и не только, и включая процедуры с функциями и константами. Никакой конструктор не даст такой функциональности. Будет как бабка Зинка выглядеть в 100 лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:08 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Никакой конструктор не даст такой функциональности. Вообще у свойств к которым обращается владельца надо указывать явно. Собственно по хорошему даже к глобальным переменным надо обращатся указывая их юнит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:12 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, Опасный и глючный в руках у незнайки. Так же как ядерная физика, глючная и не предсказуемая. Вот - вот, весь мир взлетит на воздух. А вы тут, боитесь положить мороженное в стаканчик. Что бы из стаканчик скушать, не беря его в руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:14 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный DmSer В случае объектов это будет работать, в случае записей - нет. Для записей нужны алиасы. Будет и для записи работать! Потому что это присвоение обычной переменной на запись. Которое аналогично и вне with Разница в том, что для объектов присваивается ссылка, а для записей - вся структура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:14 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
DmSer, Так и есть. Но я что - то сейчас задумался, что и вправду вся структура будет скопирована. Но ведь функционал годный, с добавлением @Struct ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:15 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Для объектов Код: pascal 1. Скопировать структуру Код: pascal 1. Взять Pointer на структуру PX^. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:18 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный rgreat, Опасный и глючный в руках у незнайки. Опасный в любых руках при рефакторинге свойств класса/рекорда. В компоненте который ты использовал, поменяли свойство которое ты через with использовал и все - ты в жопе. Никакой ошибки не будет а ПО будет глючить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:19 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, Вы даже не готовы мониторить изменения, которое происходит с тем чем вы работаете. От версии к версии, если оно меняется. Добавляя разные вариации вызовов в одно место. То есть это говорит о вашем профессионализме. Когда вы скачали новую Delphi, написали код. Потом решили её закинуть на D7 и потом перекинуть на ещё более новую версию. Создав допустим 3 случая разного взаимодействия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:21 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Я лучше не буду раскладывать себе грабли без которых можно обойтись. А ты можешь вручную проверять весь свой и чужой код каждый раз когда где-то что-то обновится. Я не против. Особенно мне тебя жалко если ты каждый раз вручную сверяешь сорцы дельфи при переходе на новую версию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:23 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, Ну правильно. Только with тут причём? Его как задумывали, так он и работает. Он сам должен подставлять ссылку на объект указанного в with в свойства - верхнего уровня, которые принадлежат объекту установленного в with А дальше уже глобальные переменные, и переменные класса с их функциями и прочим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:26 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat Особенно мне тебя жалко если ты каждый раз вручную сверяешь сорцы дельфи при переходе на новую версию. Да, очень жаль человека, который умеет пользоваться инструментами и документациями. Которые сразу способны показать различие кода с помощью diff А это процедуры - свойства и так далее. Наличие \ Отсутствие \ Добавленные В добавок сам Delphi везде использует with Код: pascal 1. 2. Код: pascal 1. 2. 3. 4. 5. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И я считаю это правильным!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:29 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Слабоумие и отвага. Dixi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:34 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat, То есть проблема в человеке, а не в конструкции языка with Мы давно это выяснили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 15:35 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Смысл WITH в том, что в приоритете функции и свойства установленного объекта в WITH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 18:50 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
Gluck99, Да. Можно группировать в with разные объекты (В понимание объектов в Delphi), и структуры. НО это прям очень редкая и нестандартная ситуация. Надо следить что бы в двух объектах не было одинаковых свойств и функций, иначе они не будут доступны для второго объекта. А with прежде всего подразумевает настройку объекта указанного в with. А не всей области, включая и форму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 19:36 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
rgreat Слабоумие и отвага. Dixi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2020, 22:54 |
|
||
|
Улучшение оператора with: голосование и обсуждения
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный По этому эта тема изначально является флудом. Во-вторых, ты просто не пиши в такие темы с флудом, пусть эти бестолковые неучи между собой общаются. Договорились? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2020, 00:53 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038070]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
100ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 601ms |

| 0 / 0 |
