Перейти к публикации
Форум - ComputerCraft
  • 0
Teen_Romance

основы Как работает интерпретатор?

Вопрос

Доброго времени суток! Буду раз любым советам/ответам. Заранее спасибо.

1) Иногда в интерпретаторе я не могу увидеть все что выводится на экран после команды. Как можно исправить?

 

66903bbd16.png

 

631ca22308.png

 

2) Как посмотреть все вещи которые есть в мэ? С сундуком работает 

=component.chest.getAllStacks()

С мэ же я вижу это:

 

v29xbNPT3NRWam.png

 

Если попробовать сунуть это в переменную и распечатать ее, то вижу это :

 

4d9d60b258.png

 

В тоже время я вроде вижу шмотки какие есть когда юзаю 

=component.aemultipart.getAvailableItems()

но судя по API эта команда отвечает за проверку вещей которые можно создать.

И еще приведите пару примеров пожалуйста, как использовать эти api в самой программе, а не интерпретаторе. Тип это нужно как то через переменные делать, циклы и т.д. на примера простенького когда пожалуйста

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

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


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

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

  • 0

Иногда в интерпретаторе я не могу увидеть все что выводится на экран после команды. Как можно исправить?

Таблицы на маленьком экране робота я чаще всего отображаю кусками

i,i1,i2=0,5,10 for k,v in pairs(t)do i=i+1 if i>=i1 and i<=i2 then print(k,v)end end
Иногда целиком вывожу в файл. Бывает, добавляю ожидание нажатия клавиши между выводом строк таблицы. Тут каждый делает, как привычно, или как удобнее по ситуации.

 

Как посмотреть все вещи которые есть в мэ? С сундуком работает

С сундуком и не будет работать. В сундуке может лежать только ячейка памяти. А читать содержимое сети нужно ченрез МЭ-интерфейс, @Fingercomp рассказывал про это:

http://computercraft.ru/blog/3/entry-412-avtokraft-opencomputers/

 

Если попробовать сунуть это в переменную и распечатать ее, то вижу это

Да, это нормально. Есть таблица, но она пустая.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
С сундуком и не будет работать. В сундуке может лежать только ячейка памяти

 

Я имел ввиду обычный сундук, а адаптер я ставил к мэ терминалу. По крайней мере, таблицу вещей которые можно создать, комп показывает.

И еще, я там внизу темы попросил привести пару примеров кода с парой слов объяснений, как юзать API в самой проге, а не интерпретаторе. Или может где то тема об этом есть более менее понятная?

Потому что, как в интерпретаторе вывести на экран что-то, мне парень рассказал, а вот уже как использовать это в программе, я не могу понять как.

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

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


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

Я имел ввиду обычный сундук, а адаптер я ставил к мэ терминалу.

=component.aemultipart.getAvailableItems()

К терминалу? Может, что-то изменилось, но раньше доступ можно было получить через МЭ-интерфейс component.me_interface.

 

И еще, я там внизу темы попросил привести пару примеров кода с парой слов объяснений, как юзать API в самой проге, а не интерпретаторе. Или может где то тема об этом есть более менее понятная? Потому что, как в интерпретаторе вывести на экран что-то, мне парень рассказал, а вот уже как использовать это в программе, я не могу понять как.

Пример кода есть по указанной выше ссылке на блог @Fingercomp. Нужные строки легко находятся в программе.

Объяснение можно увидеть, например, здесь http://computercraft.ru/topic/1319-pomosch-po-komponentu-me-upgrade-me-upgrade-iz-moda-extracells2/?p=19086

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


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

 

 

Таблицы на маленьком экране робота я чаще всего отображаю кусками

Я так и не понял че делать с кодом который ты привел ниже. Что мне сделать чтобы я мог скролить всю таблицу, либо стрелкой вниз просматривал? 

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


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

Я так и не понял че делать с кодом который ты привел ниже. Что мне сделать чтобы я мог скролить всю таблицу, либо стрелкой вниз просматривал?

Это не интерактивный код, его преимущество не в удобстве использования, а в простоте самого кода. При его вводе нужно указать начальный и конечный номер строк таблицы, которые требуется отобразить на экране, а также саму таблицу:

i,i1,i2=0,номер_начальной_строки,номер_конечной_строки for k,v in pairs(таблица)do i=i+1 if i>=i1 and i<=i2 then print(k,v)end end

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


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

Я так и не понял че делать с кодом который ты привел ниже. Что мне сделать чтобы я мог скролить всю таблицу, либо стрелкой вниз просматривал?

Код - ещё раз просмотреть и разобрать.

А чтобы скролить всю таблицу, надо - написать свою гуишку.

P.S. А отталкиваться, при её написании - можешь от кода, который тебе посоветовал господин(пан, мистер) Томат. :)

 

Отправлено с моего Redmi 5, через Tapatalk

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

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


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

А чтобы скролить всю таблицу, надо - написать свою гуишку.

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

 

Со временем опыт появляется, но к тому моменту уже обычно бывает лень писать гуишки, и для быстрого поиска нужных методов используется простенький код типа того, что я привёл выше.

 

Конечно, есть те, кто всё ещё помнит свои страдания, но уже успел освоить OpenComputers и не ленится создать инструмент для других новичков. Но инструмент должен быть удобным настолько, чтобы развернуть его было быстрее, чем написать коротенький код, а иначе пользоваться им всё равно никто не будет. Тут нужно в совершенстве знать возможности OC, чтобы выбрать лучшее решение. Ну, или хотя бы получить максимум советов, как это лучше реализовать, если есть желание написать такой инструмент. По крайней мере, получить хороший совет от гуру проще, чем заставить его писать код.

  • Like 3

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×