С глобальными переменными - "разобрались".
Их - НЕТ. Ибо они "в монадах".
Ибо они в "контексте".
Локальные переменные? Нужны?
"Очевидно" - нет. Ибо локальные переменные служат лишь вопросу "оптимизации вычислений".
А функции - "и так" - кешируемые. Или "лениво вычисляемые" (кешируемость и "ленивость" кстати это одно и то же?)
Значит - локальные переменные - не нужны.
Так?
Ну например:
l_Pos := Pos(SomeString, 'a');
if (l_Pos > 0) then
Result := Copy(SomeString, l_Pos, Length(SomeString)-l_Pos);
VS:
if (Pos(SomeString, 'a') > 0) then
Result := Copy(SomeString,Pos(SomeString, 'a'), Length(SomeString)-Pos(SomeString, 'a'));
-- ну с точностью, до +-1.
P.S. Хотя.. Даже если "локальные переменнные и есть" - ну в общем тоже понятно - как их кешировать и параллелить. Они же - "в контексте".
Их - НЕТ. Ибо они "в монадах".
Ибо они в "контексте".
Локальные переменные? Нужны?
"Очевидно" - нет. Ибо локальные переменные служат лишь вопросу "оптимизации вычислений".
А функции - "и так" - кешируемые. Или "лениво вычисляемые" (кешируемость и "ленивость" кстати это одно и то же?)
Значит - локальные переменные - не нужны.
Так?
Ну например:
l_Pos := Pos(SomeString, 'a');
if (l_Pos > 0) then
Result := Copy(SomeString, l_Pos, Length(SomeString)-l_Pos);
VS:
if (Pos(SomeString, 'a') > 0) then
Result := Copy(SomeString,Pos(SomeString, 'a'), Length(SomeString)-Pos(SomeString, 'a'));
-- ну с точностью, до +-1.
P.S. Хотя.. Даже если "локальные переменнные и есть" - ну в общем тоже понятно - как их кешировать и параллелить. Они же - "в контексте".
Комментариев нет:
Отправить комментарий