На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > Извлечение исходных кодов метода , Методики самопознания
      Дамы и господа, помогите, пожалуйста.

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

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

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

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

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

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

      А вот результат:
      ExpandedWrap disabled
        def sum(x, y)
            x + y # (blah)
          end


      Все здорово. Но если я пробую тем же способом извлечь код из файлов проекта (тех самых, упакованных), получаю ошибку:
      ExpandedWrap disabled
        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


      :wall:
        Отбой. Нашелся добрый человек, который сие безобразие уже распотрошил. :)
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0169 ]   [ 14 queries used ]   [ Generated: 18.07.25, 05:26 GMT ]