monkeypatching

    1熱度

    1回答

    考慮我在Python模塊a.py下面的代碼: def func(): obj = Obj() # Some code that uses obj 有沒有辦法猴子補丁obj沒有使它函數參數? 原因:在代碼本身的背景下,它不應該是一個參數,但是在使用代碼進行測試和系統仿真的情況下,補丁是合理的。同樣在各種情況下,我可能需要修補不同的本地對象,並將它們作爲參數放置在單調乏味的地方

    1熱度

    1回答

    這個練習是相當學術的,但它對理解JavaScript的行爲很有用。 爲什麼這項工作: var fs = require('fs'); console.log(fs.readdirSync('/').length); //approximately '28' on my Macbook fs['readdirSync'] = function(){ return ['/tmp', '/bin']

    9熱度

    2回答

    我想猴子修補這個'Controller'對象的構造函數。但是,我怎樣才能修補構造函數,以便我仍然可以調用原始函數?這是我試過的。 // original function Controller() { this._tag = 'div'; } Controller.prototype.tag = function() { console.log(this._tag);

    1熱度

    1回答

    我有一個機械化:: Cookie行爲不當的問題,我想嘗試猴子修補它。 我的代碼: class Mechanize::Cookie class << self; alias_method :old_parse, :parse end def self.parse(uri, str, log = Mechanize.log) puts 'new parse!'

    3熱度

    1回答

    我有一個pyobjc應用程序運行在32位唯一使用gevent庫的python版本中。在py2app'ed alias模式下,一切都很好用,但是一旦我構建應用程序包,gevent模塊即使與站點包目錄捆綁在一起,也找不到httplib庫。 File "gevent/monkey.pyo", line 182, in patch_httplib File "gevent/httplib.pyo", l

    0熱度

    1回答

    我想將內存中的例程代碼複製到另一個位置。對於例如 procedure OldShowMessage; begin ShowMessage('Old message..'); end; 說我想複製例程到內存中的另一個位置。我宣佈類似 var lopShowMessage : procedure; // procedural pointer. 一些僞代碼會像 // Vi

    6熱度

    1回答

    我不想在我的unittest中創建真實的文件。所以我發現自己經常用廢話樣板修改 併爲僞文件創建模擬工廠。我想知道如果 它不會更好,以避免(在這種情況下),這些毫無意義的努力和嘗試在本地單元測試方法的範圍 類似: open = lambda x: StringIO() 請問這行嗎?或者是否有重大警告/不採用這種方法發佈,並更好地與模擬工廠 ?

    1熱度

    1回答

    我創建了一個對象,該對象將表示一些可以在我的程序之外進行更改的系統信息。我正在考慮允許我的代碼的用戶指定回調函數,當檢測到更改時將調用該函數。這就是我,這似乎工作(功能doodie將用戶自備) def doodie(cls): print cls.teststr class Testarino(object): def __init__(self): self.

    0熱度

    1回答

    這裏我想對我的設置進行一些修改。 我希望在對我的服務器發出的一個請求中發出多個API調用的響應。從所有這些API調用中,我想合併結果並將它們作爲響應返回。直到這裏,幾乎所有的東西都在gevent文檔的例子中給出,並在這裏。現在我們想要以遞增方式傳遞響應,所以如果第一次API調用已經返回結果,我會在一個長等待的請求中將此結果返回到前端,然後等待其他API調用並將它們傳遞給相同的請求前端。 我試圖通過

    1熱度

    1回答

    我用HTML/jQuery的頁面是工作別人寫了,而以前的任何元素執行。爲了調試,我需要找到頁面加載時觸發任何元素的所有.blur()事件。 我可以使用下面的一個事件綁定的所有元素: $("*").each(function() { $(this).blur(function() { alert(this); }); }); 然而,這是不行的(即使我可以在網頁加