问题标签 [monkeypatching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby:向内置类添加自定义属性
问题:使用 Ruby 向现有类添加自定义方法 很简单,但是如何添加自定义属性?这是我正在尝试做的一个例子:
目标是构建类定义,使上面示例中不起作用的东西可以按预期工作。
更新:(澄清问题)原始问题中遗漏的一个方面:添加通常在类的初始化方法中设置的“默认值”也是一个目标。
更新:(为什么这样做)通常,只需创建一个继承自 Array 的自定义类(或您想要模拟的任何内置类)非常简单。这个问题源自一些“仅测试”代码,并不是试图忽略这种普遍接受的方法。
jquery - 我可以替换或修改 jQuery UI 小部件上的功能吗?如何?(猴子补丁)
如果我想通过替换其中一个函数来调整 jQuery UI 对象的某些功能,我将如何去做呢?
示例:假设我想修改 jQuery 自动完成小部件呈现建议的方式。自动完成对象上有一个方法,如下所示:
我可以换这个吗?
我认为这可能被称为Monkey Patching。
如何?我会使用什么语法?
python - 猴子在 python 中修补 time.time()
我有一个应用程序,为了测试,我需要用特定的时间戳替换 time.time() 调用,我过去使用 ruby 做过
(此处提供代码:http: //github.com/zemariamm/Back-to-Future/blob/master/back_to_future.rb)
但是我不知道如何使用 Python 来做到这一点。
有什么提示吗?干杯,泽玛丽亚
python - py2app 规定
py2app 文档提到__boot__.py
了在主要 python 脚本之前运行的prescripts。我找不到在 setup.py 文件或构建过程中轻松指定任何指令的方法。
但是,我确实设法__boot__.py
手动“破解”并_run(prescript)
在我的主要命令之前添加了另一个命令_run(main_script)
,它似乎工作正常。然而,使用标准的 py2app 构建过程会更好。
我实际上想做的是在启动主脚本之前对我的 sites-packages.zip 文件进行猴子补丁。该指令主要检查服务器上的更新,如果有,下载它们,然后覆盖 site-packages.zip 文件。比从头开始重新安装应用程序要快得多。
有任何想法吗?
ruby-on-rails - Monkeypatch 在 rake 任务中使用插件提供的方法的模型?
在最近的一些重构中,我们改变了用户头像的存储方式,没有意识到一旦部署它会影响所有现有用户。所以现在我正在尝试编写一个 rake 任务来通过做这样的事情来解决这个问题。
当我尝试运行它时,虽然我得到了用户:类的未定义方法`has_attached_file'
我可以在脚本/控制台中执行此操作,但似乎无法从 rake 任务中找到回形针插件的方法。
c++ - Lua + SWIG 猴子补丁
我使用 SWIG 将一组类绑定到 lua。我知道 C++ 本身不支持猴子补丁,我也不想修改我的 C++ 对象,只是修改它们的 lua 表示。如果我想开始修补 SWIG 导出的 lua 表和对象,那么问题就来了,这样我就可以修改 lua 端提供的 API。
例如以下 lua 代码:
没有按预期工作。该行之后的行为仍然与原始 GetEnemies1 而不是 GetEnemies2 一致。
我该如何解决这个问题?
c# - C#猴子补丁 - 有可能吗?
是否可以编写一个 C# 程序集,该程序集在加载时会将方法从另一个程序集中注入到一个类中?如果是,注入的方法是否可以从使用 DLR 的语言(如 IronPython)中获得?
我需要那个方法,如果可能的话,我想避免重新编译 IronPython。
ruby - jekyll - 在 github 页面上自动向页面添加内容
有没有办法在 Jekyll 上获取页面的 url?我所说的页面是指非发布纺织品文件,例如about.html
以下download.html
层次结构:
我想做这样的事情:
这适用于帖子,因为它们的 url 包含在帖子的 to_liquid 方法中。另一方面,页面似乎不包含任何类似的东西 - 它们确实具有我需要的属性(或者看起来如此),但它们不会将它们导出到to_liquid
; 我想重新定义它。有没有办法做到这一点?
我找到了 jekyll_extensions,但我不知道它是否适用于我的目标环境(github页面)。
如果可能的话,我想避免在所有 yaml 头上包含一个 url 参数。
非常感谢!
ruby - 红宝石宝石是否会发生冲突?
作为一个红宝石新手,我想知道,宝石会不会相互冲突?例如,如果 2 个 gem 覆盖了数组上的 << 方法,哪个会赢,或者有什么可以阻止这种情况?
谢谢
ruby - Ruby Monkey 修补陷阱
我正在寻找为什么在 ruby 中扩展基类不是一个好主意的例子。我需要向一些人展示为什么它是一种需要小心使用的武器。
有什么恐怖故事可以分享吗?