Advertisement
mrWhiskasss

Программа для методов компонентов в ОС

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