Войти на сайт

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

ТЕМА: RGSS+

RGSS+ 10 года 4 мес. назад #71749

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

История обновлений:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Список дополнений:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Скрипт:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Скрипт будет обновляться периодически, когда я буду находить новые интересные методы решения проблем.
Последнее редактирование: 10 года 3 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dprizrak1, Amphilohiy

RGSS+ 10 года 4 мес. назад #71775

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторУчительПрограммист Ruby2 место Готв
Хотел предложить для массивов индексацию с конца для отрицательных индексов, но они, оказывается, уже есть.
Для integer не понял идеи combine.
Чую, что может сработать и на асе. Проверял?

UPD глянул в код.
Более менее combine понял, но описание не самое говорящее.
sign можно реализовать буквально так же вот таким кодом:
def sign
    self <=> 0
  end
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 10 года 3 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dprizrak1

RGSS+ 10 года 4 мес. назад #71781

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Победитель Сбитой кодировкиПисатель 3 местоПроект месяца 3 место2 место 3 местоПрограммист JavaScript 3 место ГотвПроект месяца 2 место2 место Сбитая кодировкаОрганизатор конкурсов
combine - это же просто число сочетаний из n по k, верно? По идее, так и надо написать, всё равно тем, кто не знает этого понятия, оно вряд ли будет чем-то полезно.
Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 10 года 3 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Amphilohiy

RGSS+ 10 года 4 мес. назад #71792

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

RGSS+ 10 года 3 мес. назад #72772

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

И да, код очень наивный, потому что мне потом его хочется перечитывать и понимать. Если его преобразовать по уже установившимся в обществе стилям, то он, конечно, уменьшится в разы...
Последнее редактирование: 10 года 3 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.

RGSS+ 10 года 3 мес. назад #72784

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • Программист RubyКоммерсантУчительПроект месяца 1 местоПроект года 1 место
Баг, который почти невозможно поймать:
  puts "Ого, вас четверо!" if $game_party.size = 4
Очень часто программисты (сам вчера так сделал, опять) ошибаются и вместо == пишут =. У меня было пару колег которые принципиально писали так:
's' == my_variable 
#вместо
my_variable == 's'
ведь если они случайно напишут = а не ==, то ошибку увидят сразу. А так в переменную my_variable запишется 's', выражение вернет истину, а баг найдут только через три бессонных ночи.
Последнее редактирование: 10 года 3 мес. назад от Iren_Rin.
Администратор запретил публиковать записи гостям.

RGSS+ 10 года 3 мес. назад #72785

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

RGSS+ 10 года 3 мес. назад #72786

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • Программист RubyКоммерсантУчительПроект месяца 1 местоПроект года 1 место
Ощибки у тебя такой нет, но есть вероятность, что она возникнет, когда ты будешь проверять size любого массива, и ты ее фиг потом найдешь.
Последнее редактирование: 10 года 3 мес. назад от Iren_Rin.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.303 секунд