zed_com

Методы компонентов

Jul 31st, 2015
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.67 KB | None | 0 0
  1. local component = require("component")
  2. local term = require('term')
  3. local text = require("text")
  4. local components = {}
  5. local methods = {}
  6. local offset = 0
  7. local Text = {}
  8. local N = 0
  9. term.clear()
  10. for address, name in component.list() do
  11.     if name:len() > offset then
  12.       offset = name:len()
  13.     end
  14.     components[address] = name
  15. end
  16.  
  17. offset = offset + 2
  18. print(' -------- Найденные компоненты --------')
  19. for address, name in pairs(components) do
  20.   io.write('['..N..']'..text.padRight(name, offset) .. address .. '\n')
  21.   Text[N] = name
  22.   N = N + 1
  23. end
  24. print(' --------------------------------------')
  25. io.write('Введите N компонента, методы которого нужно узнать: \n>> ')
  26. local name = io.read()
  27. if component.isAvailable(Text[tonumber(name)]) then
  28.   t = component.getPrimary(Text[tonumber(name)])
  29.   local filename = Text[tonumber(name)]..'_doc.tmp'
  30.   local file = io.open(filename, 'w')
  31.   for k,v in pairs(t) do
  32.     table.insert(methods,'>> Метод: '..k..'\nДокументация: '..tostring(v))
  33.       file:write('>> Метод: '..k..'\nДокументация: '..tostring(v)..'\n')
  34.   end
  35.   file:close()
  36.   if component.isAvailable('internet') then
  37.     print('Перейдите по ссылке на сайт для ознакомления!')
  38.     require('shell').execute('pastebin put '..filename)
  39.     else
  40.       term.clear()
  41.       print('Нажимайте ENTER для продолжения')
  42.       for k,v in pairs(methods) do
  43.         print('['..k..'] '..v)
  44.         io.read()
  45.       end
  46.   end
  47. else
  48.   print('Ошибка. Компонента '..name..' не существует!')
  49. end
Advertisement
Add Comment
Please, Sign In to add comment