myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
53 страниц V  « < 51 52 53  
Ответить в данную темуНачать новую тему

> Вопросы Разработчикам Скриптов, вопросы по скриптам (мелкие вопросы)

Alexey
сообщение 28.11.2015, 23:48
Сообщение #1041


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




MIKHAIL, http://mydc.ru/topic5769.html


Спасибо сказали:
Go to the top of the page
+Quote Post
MIKHAIL
сообщение 5.3.2016, 15:44
Сообщение #1042


KEEP CLEAR AT ALL TIMES
****

Группа: Пользователи
Сообщений: 141
Регистрация: 4.9.2011
Из: Беларусь, Минск
Пользователь №: 9 667
Спасибо сказали: 3 раза




Хочу следовать за редиректом. Добавляю в скрипт последнюю строку:
Код
...
https = require("ssl.https")
url = require("socket.url")

https.redirect = true
...

... а результата нет. Прошу помощи.
Go to the top of the page
+Quote Post
alex82
сообщение 6.3.2016, 12:07
Сообщение #1043


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




MIKHAIL, модуль https не поддерживает редиректы


Спасибо сказали:
Go to the top of the page
+Quote Post
MIKHAIL
сообщение 29.7.2016, 15:45
Сообщение #1044


KEEP CLEAR AT ALL TIMES
****

Группа: Пользователи
Сообщений: 141
Регистрация: 4.9.2011
Из: Беларусь, Минск
Пользователь №: 9 667
Спасибо сказали: 3 раза




В контексте PtokaX имеем:
Код
local tmp

function OnTimer()
  tmp = os.time()
  ...
  tmp = nil
end

Вопрос: при последующих событиях по таймеру, переменная tmp не станет глобальной, а всё так же будет локальной? Может быть это переключение произойдёт после сборки мусора?..

Понятно, что надо делать вот так:
Код
function OnTimer()
  local tmp = os.time()
  ...
end

, но меня интересует именно ситуация, указанная в самом начале.

P.S.: если бы я знал, как "запросить" состояние области видимости переменной, то такого вопроса не возникло.))
Go to the top of the page
+Quote Post
Alexey
сообщение 9.11.2016, 16:40
Сообщение #1045


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




MIKHAIL, останется локальной, сборщик мусора удалит лишь её старое значение.


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 14.11.2016, 16:22
Сообщение #1046


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




MIKHAIL, сборщик мусора удаляет лишь те объекты, на которые отсутствуют ссылки. Он никак не влияет на области видимости переменных.

Все глобальные переменные лежат в таблице _G. Следовательно, если переменная не равна nil, и ее нет в _G, значит она локальная.


Спасибо сказали:
Go to the top of the page
+Quote Post
MIKHAIL
сообщение 14.11.2016, 22:23
Сообщение #1047


KEEP CLEAR AT ALL TIMES
****

Группа: Пользователи
Сообщений: 141
Регистрация: 4.9.2011
Из: Беларусь, Минск
Пользователь №: 9 667
Спасибо сказали: 3 раза




Изначально переменная tmp была локальной (т.е. в таблице _G она, естественно, отсутствовала). Затем, при работе функции таймера, когда ссылка на неё перестала существовать (tmp = nil), сборщик мусора её [ссылку на переменную] и удалил. Окей, сборщик никак не влияет на область видимости переменных. Но вот потом, при последующих циклах работы функции таймера, идёт чёткое указание на её создание как "новой" переменной tmp = os.time(), но уже без модификатора local.

И вот тут у меня ступор: в какой области видимости будет переменная? Ведь никаких ссылок на неё к этому моменту уже быть не должно. Она не равна nil, но исходя из контекста, скорее всего, должна быть в таблице _G. Но её там нет...

Каким-то образом хранится "память" о том, что изначально такая-то переменная была локальной?
Go to the top of the page
+Quote Post
alex82
сообщение 15.11.2016, 0:03
Сообщение #1048


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




MIKHAIL, она нигде не хранится. Если присвоение происходит в той же области видимости, где переменная была объявлена локальной, то этой переменной будет присвоено новое значение. Если же это происходит за пределами области видимости, будет создана глобальная переменная.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 12.3.2017, 22:09
Сообщение #1049


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Странно, захотел было сохранить тему через имеющуюся опцию при теме, однако облом - сохраняет только первые 15 страниц. Это ограничение никак не обойти? Может, есть в настройках сайта такая возможность?
А то мало ли, пропадёт сайт по какой-нибудь причине и ценная информация пропадёт тоже. Надо бы держать под рукой.
Go to the top of the page
+Quote Post
MIKHAIL
сообщение 3.2.2019, 12:51
Сообщение #1050


KEEP CLEAR AT ALL TIMES
****

Группа: Пользователи
Сообщений: 141
Регистрация: 4.9.2011
Из: Беларусь, Минск
Пользователь №: 9 667
Спасибо сказали: 3 раза




Вариант 1 (распространен как тру)
Код
if data then
  return ...
end
...


Вариант 2
Код
if data then
  return ...
else
  ...
end


Вопрос: неужели в первом варианте будет оптимизация с точки зрения производительности, а не количества символов в коде?
Ведь во втором варианте просто else, который всегда идет по умолчанию с if, а не elseif[ not data then] ... end.
Хотелось бы услышать специалистов.
Go to the top of the page
+Quote Post

53 страниц V  « < 51 52 53
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 43 183 21.3.2017, 17:31 Посл. сообщение: Alexey
No new ВАЖНО: Topic has attachmentsВаши Вопросы И Предложения По Поводу Форума
447 Svyat 301 751 20.10.2015, 19:39 Посл. сообщение: Ksan
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 3 997 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No new Topic has attachmentsВопросы по протоколу NMDC
Делаю программу
26 Master255 27 389 12.1.2015, 0:38 Посл. сообщение: Master255
No New Posts Вопросы к Phazeus по Экзекутору
Мастер может забанить мастера, как решить в Экзекуторе?
1 AndreiDC 4 983 31.10.2014, 19:20 Посл. сообщение: Ksan
No New Posts От: Установка скриптов
От темы с ID: 5657
0 MIKHAIL 4 445 29.7.2014, 23:37 Посл. сообщение: MIKHAIL
No New Posts Установка скриптов
Нужна помощь по установке
2 _wRz_ 6 764 29.7.2014, 16:11 Посл. сообщение: Артём
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 24 234 28.1.2014, 13:11 Посл. сообщение: Alexey
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 251 210 19.12.2013, 13:59 Посл. сообщение: mod
No new Topic has attachmentsМелкие вопросы
44 Wariner 48 183 19.9.2013, 12:34 Посл. сообщение: Alexey
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
3 anila 8 544 28.3.2013, 16:02 Посл. сообщение: настя
No New Posts Единая платформа для скриптов
Обсуждения вопроса создания единой платформы скриптов
5 Enyby 8 399 18.1.2012, 20:15 Посл. сообщение: Setuper
No new Topic has attachmentsПеределка скриптов
Прошу помощи
47 Fe(one)X 38 535 26.12.2011, 15:04 Посл. сообщение: Ksan
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 56 871 6.12.2011, 0:34 Посл. сообщение: Enyby
No New Posts От: Вопросы по RusHub
От темы с ID: 2902
4 Otshelnik-Fm 7 900 19.10.2011, 9:23 Посл. сообщение: Mangust

 



RSS Сейчас: 19.3.2024, 17:02