То, как Вы обнаруживаете то исправление обезьяны, произошло в Ruby?

Я думаю, что ваш интерпретатор не запускает скрипт в папке, в которой вы его храните.

Попробуйте использовать абсолютный путь для ссылки на ваш файл.

, например,
data = pd.read_csv("C:\\Users\\Owner\\Documents\\file.csv") для Windows
data = pd.read_csv("/home/{username}/data.csv") для Linux

8
задан Readonly 2 December 2008 в 21:30
поделиться

2 ответа

Я нашел это сообщение в блоге, которое затрагивает то, как использовать method_added для отслеживания исправления обезьяны. Не слишком трудно расширить его для отслеживания методов, которые были исправлены.

http://hedonismbot.wordpress.com/2008/11/27/monkey-business-2/:

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

#!/usr/bin/env ruby                                                                                                                                                           

class Class
    @@method_history = {}

    def self.method_history
        return @@method_history
    end

   def method_added(method_name)
       puts "#{method_name} added to #{self}"
       @@method_history[self] ||= {}
       @@method_history[self][method_name] = caller
   end

   def method_defined_in(method_name)
       return @@method_history[self][method_name]
   end
end
4
ответ дан 5 December 2019 в 14:07
поделиться

Существуют рычаги method_added и method_undefined. Garry Dolley записал Неизменный модуль, который предотвращает исправление обезьяны.

8
ответ дан 5 December 2019 в 14:07
поделиться