Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Адаптированный гем - awesome_print

Адаптированный гем - awesome_print 8 года 11 мес. назад #81084

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • УчительПрограммист RubyПроект месяца 1 местоПроект года 1 местоКоммерсант
Автор: Michael Dvorkin
Адаптация для мейкера: Iren_Rin
Ссылка на оригинальный гем: гем на гитхабе
Ссылка на адаптированный гем: гем на гитхабе
Версия: 1.6.1

Описание:
Позволяет красиво форматировать массивы, хэши и т.п. и выводить это на STDOUT. Полное описание и примеры использования смотрите на гитхабе.

Как установить:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: DeadElf79, Ren310, strelokhalfer

Адаптированный гем - awesome_print 8 года 11 мес. назад #81085

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Проект месяца 1 местоУчитель1 место в ГотвВетеран3 местоПисатель 3 местоПроект месяца 2 местоПрограммист RubyОрганизатор конкурсов
Как его использовать-то, напишешь? Вставил, настроил под хп, не вылетает, но и не работает. Куда надо нажать, чтобы было хорошо?)
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81086

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • 3 местоПроект месяца 2 местоПроект месяца 1 местоПрограммист JavaScript 2 место Сбитая кодировка2 место Писатель 3 местоПобедитель Сбитой кодировкиПроект месяца 3 место3 место Готв
Я чуть конкретнее спрошу: на какую версию Ruby рассчитан гем? Похоже, что в XP она более старая, чем надо, а из readme не совсем понятно.
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81089

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • УчительПрограммист RubyПроект месяца 1 местоПроект года 1 местоКоммерсант
На rubygems сказано - REQUIRED RUBY VERSION: >= 0. Я проверил под VX ACE.
Как использовать:
ap [1, 2, 3, 4] #=> Форматированный вывод
ap $game_party
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81090

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Проект месяца 1 местоУчитель1 место в ГотвВетеран3 местоПисатель 3 местоПроект месяца 2 местоПрограммист RubyОрганизатор конкурсов
Только на RGSS2-3, не ниже. На хп без RGSS+ не пойдет. Да и с ним может не пойти, потому что он сам не без изъянов. Я уж проверил.

Угу, ладно, возможно, оно несовместимо с RGSS+, я еще пересмотрю свой скрипт.

Для ХП требуются правки в четырех местах. Первые три можно выполнить в любом редакторе текста:
Ставим замену этого
instance_variable_defined?
на это:
instance_variables.include?
Еще одну - в строке 228 (batch.rb) меняем puts на print:
print object.ai(options)
потому что puts в оригинальном ХП не определен.
Последнее редактирование: 8 года 11 мес. назад от DeadElf79. Причина: поправил код
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Iren_Rin

Адаптированный гем - awesome_print 8 года 11 мес. назад #81099

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Проект месяца 1 местоУчитель1 место в ГотвВетеран3 местоПисатель 3 местоПроект месяца 2 местоПрограммист RubyОрганизатор конкурсов
Еще немного слабости этого скрипта. Возможно, я что-то не понимаю или делаю не так.

Вот этот код:
ap RPG::Actor.new
Выводит:


Пойду копать, в чем тут дело.
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81100

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • Программист Ruby2 место 2 место Сбитая кодировкаДаритель СтимкеяОрганизатор конкурсовПереводчик
Потому что ты функцию вызываешь
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81101

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • 3 местоПроект месяца 2 местоПроект месяца 1 местоПрограммист JavaScript 2 место Сбитая кодировка2 место Писатель 3 местоПобедитель Сбитой кодировкиПроект месяца 3 место3 место Готв
Да нет, Эльф пытается вывести содержимое свежесозданного объекта класса RPG::Actor, по идее.
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81102

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Проект месяца 1 местоУчитель1 место в ГотвВетеран3 местоПисатель 3 местоПроект месяца 2 местоПрограммист RubyОрганизатор конкурсов
А дело оказалось в методе awesome_object, который делает вывод по стандартным правилам. Видимо, для всех классов, которые сложнее хэш-таблиц, нужно прописывать свои методы вывода, не иначе.

Стрелок, что ты несешь опять? Оставил пост и рад, а о чем - хрен поймешь ^_^
Для примера стрелку, выводит тоже самое:
obj=RPG::Actor.new
ap obj
Последнее редактирование: 8 года 11 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.

Адаптированный гем - awesome_print 8 года 11 мес. назад #81103

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • УчительПрограммист RubyПроект месяца 1 местоПроект года 1 местоКоммерсант
По умолчанию вывод обычных объектов не изменяется. Массивы да хэши.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.257 секунд