问题标签 [extend]

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.

0 投票
7 回答
95913 浏览

ruby - Ruby中的include和extend有什么区别?

只是让我了解 Ruby 元编程。mixin/modules 总是让我感到困惑。

  • include : 混合指定的模块方法作为目标类中的实例方法
  • extend : 混合指定的模块方法作为目标类中的类方法

那么主要的区别仅仅是这个还是潜伏着更大的龙? 例如

0 投票
20 回答
3159786 浏览

python - Python 的列表方法 append 和 extend 有什么区别?

append()列表方法和列表方法有什么区别extend()

0 投票
3 回答
4221 浏览

c++ - 我可以用 C++ 扩展 lisp 吗?

我可以从用 c 或 c++ 编写的库中调用 lisp 中的函数吗?如何扩展 lisp?当你想做一些系统调用或类似的事情时,这很有用。

0 投票
5 回答
8823 浏览

python - 将单独的python包放入同一个命名空间?

我正在开发一个 python 框架,它将“插件”编写为单独的包。IE:

现在,我正在尝试安排这些插件可以与核心框架分开分发并注入myframework.addons命名空间。

目前我对此的最佳解决方案如下。将部署一个附加组件(很可能{python_version}/site-packages/像这样:

fooext/myframework/addons/__init__.py具有 pkg​​util 路径扩展代码:

问题是,要让它工作,PYTHONPATH 需要fooext/在其中,但是它唯一的东西是父安装目录(很可能是上面提到的site-packages)。

对此的解决方案是有额外的代码在myframework/addons/__init__.py其中遍历sys.path并查找带有 myframework 子包的任何模块,在这种情况下,它将它添加到sys.path并且一切正常。

我的另一个想法是直接将插件文件写入myframework/addons/安装位置,但这会使开发和部署的命名空间有所不同。

有没有更好的方法来实现这一点,或者完全可以用不同的方法来解决上述分布问题?

0 投票
2 回答
26760 浏览

python - Python 扩展了一个空列表错误?

为什么python 2.5.2会有以下行为

我假设我在这里不理解某些东西,但直觉上我认为 [2].extend([]) 应该产生 [2]

0 投票
3 回答
11567 浏览

javascript - IE7 中的 Element.prototype?

我正在尝试扩展所有 dom 元素,以便我可以获取和删除他们的孩子。该功能如下(适用于 FF 和 Chrome)。IE7 中是否有等效的扩展基本 dom 对象?

谢谢!

0 投票
6 回答
7443 浏览

javascript - 扩展地图对象

我不知道如何用原型扩展地图对象,希望您能提供帮助。我有这样的事情:

我想有一种方法来检查密钥是否存在:

我将如何扩展地图对象?

0 投票
2 回答
1248 浏览

inheritance - 扩展现有的弹性组件

这是一个非常基本的问题,但我似乎无法正确回答。

如果我想扩展现有组件,正确的方法是什么?例如,这个线程谈论它,但没有给出一个例子:Flex DateChooser events for individual days?

仅向组件的现有功能添加跟踪(“这是我的功能”)的简单示例将很有帮助。

谢谢。

0 投票
3 回答
2755 浏览

ruby - 扩展红宝石对象;extend_object 回调防止实例方法被扩展

使用模块扩展对象实例时遇到一些麻烦,特别是当我在 Module 类中定义 extend_object 回调时。我的理解是,当您执行以下操作时:

(s = String.new).extend SomeModule

调用 SomeModule extend_object 回调。情况似乎是这样,但是当我包含回调时, SomeModule 中定义的实例方法在对象中都不可见。一些代码应该更好地解释这一点:

然后,

进一步来说,

有任何想法吗?

参考:

0 投票
4 回答
937 浏览

ruby - 仅扩展一个块调用

我有一个包含一些私有属性的类。我想做的是为这些动态添加一些设置器,仅用于执行特定块。

我希望能够做到的示例:

编辑:感谢迄今为止的精彩回答。我澄清了这个问题,因为我实际上需要在类本身中定义可能与模块中定义的设置器冲突的属性读取器。我在发布问题时忘记了这部分。(来晚了^^)

澄清:这个类是供 DSL 编写配置文件的。它针对的是非开发人员,因此运营商越少越好。

我目前使用阻止的代理类来实现这一点,但为了设置值instance_eval我必须搞砸,我不喜欢它。instance_variable_set我只是在尝试另一种方法,看看是否可以使我的代码更具可读性。