Модератор: Модераторы

А смысл?

begin
  var s: Integer;
  s := 0;
  for var i := 1 to 100 do
    s := s + i;
end.

dedm0zaj писал(а):я щитаю, что объявление переменных перед телом функции стимулирует к написанию этих функций меньшего размера. так что возможность объявлять переменные, где душе захочется, не нужна.
KUKA писал(а):т.к после использования переменной её придется либо удалять вручную
var s: string;
s:='не забудь удалить меня';
delete s;
Лекс Айрин писал(а):vada, зато приводит к куче ошибок, которые тяжело будет найти.
SeZuka писал(а):Так чтоли?
procedure A(....)
var
I, J, K: integer;
MamaMilaLushuMilim: TXrenChtoZaTip;
  procedure aa1;
  var
  ...
  begin
  ....
  end;
  procedure bb1;
  var
  .....
  begin
  ...
  end;
  ...
  ...
  ...
begin
  // Тля! как там называлась та странная переменная? 2000 строк надо вверх отлистать.
end;

KUKA писал(а):если их сразу не делать, то потом их не возникнет.
KUKA писал(а):В итоге получается, что на паскале можно разве что писать всякие школьные поделки-перделки, а когда пытаешься написать что-то серьезное, возникают мелочи организации, которые критичны в проекте.
KUKA писал(а):благо есть IDE с умными закладками, но порой и они не спасают.
vada писал(а):Пишу на JAVA и C# там почему-то не возникает кучи ошибок которые тяжело найти. В чем собака порылась?

KUKA писал(а):Ну вот пример, допустим у меня функция очень длинной получилась, даже не смотря на разбивание её на составляющие, и листать вверх объявления блока, что бы вспомнить название функции или изменить название или тип, очень неудобно, благо есть IDE с умными закладками, но порой и они не спасают.
vada писал(а):Не так
- Код: Выделить всё
procedure A(....)
var
I, J, K: integer;
MamaMilaLushuMilim: TXrenChtoZaTip;
procedure aa1;
var
...
begin
....
end;
procedure bb1;
var
.....
begin
...
end;
...
...
...
begin
// Тля! как там называлась та странная переменная? 2000 строк надо вверх отлистать.
end;
KUKA писал(а):благо есть IDE с умными закладками
Лекс Айрин писал(а):угу.. скажите это хакерам, которые очень быстро такие ошибки находят.
 Не забываем, что переменные, определенные внутри логических блоков, во всех современных языках при выходе из зоны видимости уничтожаются и более недоступны. Более того, сам компилятор не даёт возможности их использовать там, где они недоступны.
  Не забываем, что переменные, определенные внутри логических блоков, во всех современных языках при выходе из зоны видимости уничтожаются и более недоступны. Более того, сам компилятор не даёт возможности их использовать там, где они недоступны.KUKA писал(а):после использования переменной её придется либо удалять вручную
SSerge писал(а):Не забываем, что переменные, определенные внутри логических блоков, во всех современных языках при выходе из зоны видимости уничтожаются и более недоступны.
KUKA писал(а):Вы эо локальным переменным скажите. Допустим мне нужна какая-то переменная в теле цикла, по завершению цикла, например плюсы освобождают память, выделенную для неё, что очень удобно.

Лекс Айрин писал(а):А Вы уверены, что они (с++) освобождают память?

Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1