Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение исходных кодов метода, Методики самопознания 
:(
    Опции темы
EqKeeper
Дата 25.12.2011, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.2.2010

Репутация: нет
Всего: нет



Дамы и господа, помогите, пожалуйста.

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

Заранее благодарю за любую помощь!

P.S. Естественно самого руби-файла нет (ломаю RPG Maker VX Ace), в котором все "ядерные" скрипты упакованы по dll'кам.

---
Добавлено:
Код
file, line = Graphics.method(:resize_screen).source_location

Выдаст в ответ:
Метод resize_screen определен в файле "", на линии:

---
Добавлено:
Нашел библиотеку: https://github.com/ngty/sourcify
С *.rb файлами работает на ура. Вот, например, запрос
Код
print MyMath.method(:sum).to_raw_source.to_s

А вот результат:
Код

def sum(x, y)
    x + y # (blah)
  end


Все здорово. Но если я пробую тем же способом извлечь код из файлов проекта (тех самых, упакованных), получаю ошибку:
Код

Script 'C:/Ruby193/lib/ruby/gems/1.9.1/gems/ngty-sourcify-101cd50/lib/sourcify/method/parser.rb' line 14: Sourcify::CannotFindSourceLocationError occurred.

Sourcify::CannotFindSourceLocationError


 smile 

Это сообщение отредактировал(а) EqKeeper - 26.12.2011, 05:48
PM MAIL   Вверх
EqKeeper
Дата 30.12.2011, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.2.2010

Репутация: нет
Всего: нет



Отбой. Нашелся добрый человек, который сие безобразие уже распотрошил. smile 
PM MAIL   Вверх
source777
Дата 6.1.2012, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Для тех, кто любит копаться в недрах методов, могу посоветовать pry.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.