Перейти к содержимому
  • 0
alexlarex

Нужна помощь (функция для поиска rednet устройств по запросу)

Вопрос

Эту функцию я хотел использовать что-бы просмотреть доступные для планшета компы на "базе" которую можно будет контролировать через этот планшет. Каждый комп получивший сообщение "info" по протоколу pass отправляет сообщение со своим названием по такому-же протоколу на планшет, при запуске пишет ошибку index expected, got nil в строке result[num][1] = id 

local function searchCont(pass)
  
  local result = {{},{}}
  local temp = {}
  local num = 1
  
  rednet.broadcast("info", pass)
  timeOut = os.startTimer(5)
  
  while true do  
    ev, id, m, p = os.pullEvent()
    
    if ev == "rednet_message" and p == pass then
      result[num][1] = id
      result[num][2] = m
      num = num + 1
    
    elseif ev == "timer" and id == timeOut then
      break
    
    end  
    
  end
  
  print("Search Finished")
  return result
  
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

А как тогда объявить что это массив массивов?

Можно так

   if ev == "rednet_message" and p == pass then
      result[num]={}   ----------добавь эту строчку
      result[num][1] = id
      result[num][2] = m
      num = num + 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты резервируешь место для двух ответов

 local result = {{},{}}

Если придет третий, получишь исключку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты резервируешь место для двух ответов

 local result = {{},{}}

Если придет третий, получишь исключку

 

А как тогда объявить что это массив массивов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Можно так

   if ev == "rednet_message" and p == pass then
      result[num]={}   ----------добавь эту строчку
      result[num][1] = id
      result[num][2] = m
      num = num + 1

А result в начале объявить просто как массив. Спасибо

local result = {}

Кстати потом думаю все это на очки вывести, тогда будет вообще круто

Изменено пользователем alexlarex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...