问题标签 [extending]

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 投票
2 回答
1038 浏览

python - 在编写 PythonGDB 扩展时尝试子类化 gdb.Breakpoint 时出错

我正在尝试为 GDB 编写一个简单的 python 扩展,只要遇到断点就会输出到文件中。根据文档,“可以对 gdb.Breakpoint 类进行子分类”(参见http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints-In-Python.html

但是,当我尝试以下代码时,我收到错误“TypeError:调用元类基时出错。类型'gdb.Breakpoint'不是可接受的基类型”

我正在运行 Ubuntu 11.04 和 gdb 7.2。任何帮助或更好的文档链接将不胜感激。谢谢!

我的具体步骤:

0 投票
1 回答
554 浏览

jquery - 扩展 jQuery 核心的用处

我发现了一种扩展核心 jQuery init 函数的方法(每当您使用 $() 或 jQuery() 函数时都会调用该函数)。使用普通代理模式这是不可能的,但以下代码使其工作:

我的问题是这可能有用的地方,因为我意识到我最初使用它来缓存选择器的意图是有问题的(因为它会影响其他插件的行为——我最终使用了一个单独的函数进行缓存)。

所以我想我会分享这个方法,我也很想听听其他关于它潜在用途的想法。我想也许它可以用来支持某种自定义选择器,虽然我不确定什么时候需要,因为 jQuery 已经提供了很多选择器。

0 投票
2 回答
624 浏览

c++ - 使用 C++ 嵌入\扩展 Python 时的复杂数据结构

Python 文档很好地介绍了使用 C\C++ 扩展和嵌入 Python。但是,在许多情况下,需要在语言之间传输复杂的数据结构。

实现这一目标的最佳方法是什么?

0 投票
2 回答
999 浏览

swig - 在 C++ 中扩展嵌入式 Python - 设计与 C++ 实例交互

有几个包可以帮助自动化编写 C\C++ 和其他语言之间的绑定任务。

就我而言,我想绑定 Python,此类包的一些选项是:SWIGBoost.PythonRobin

似乎直接的过程是使用这些包来创建 C\C++ 可链接库(大部分是静态函数)并使用它们来扩展高级语言。

但是,我的情况是我已经有一个用 C++ 开发的工作系统,因此计划将 Python 嵌入其中,以便未来的开发将在 Python 中进行。

我不清楚如何,如果可能的话,如何使用这些包来帮助扩展嵌入式 Python,使 Python 代码能够与系统中已经运行的各种 Singleton 实例进行交互,并实例化 C++类并与他们互动。

我正在寻找的是关于最适合这种情况的设计的见解。

0 投票
4 回答
6862 浏览

javascript - 将 Javascript getter/setter 复制到另一个原型对象

乍一看,mySub.value 的返回值似乎与 mySub.getValue() 相同,但正如您所见,它返回的是 undefined。显然,getter 没有找到作为 Sub 实例 (mySub) 的父作用域,而是一个不存在的 Base 实例。

除了必须将相同的吸气剂分配到新原型上之外,还有什么方法可以解决这个问题?

0 投票
5 回答
6559 浏览

c++ - 使用头文件扩展 C++ 中的类

我发现要扩展一个类,我必须这样做:

因此,我在两个单独的文件中创建了 2 个类:

但是,在程序类中我想要粒子对象,然后再次扩展程序类。

然而,这将要求我在粒子类中有一个包含 program.h,并在程序类中包含一个particle.h 以让它们彼此了解。然而,这创建了一些使我无法编译的无限循环。

有什么办法可以解决这个问题,还是我做错了什么?

0 投票
1 回答
478 浏览

django - 扩展 django 用户模型

我在 django 中扩展 User 对象并拥有一个用户配置文件。因此,使用 post_save 挂钩,我以下列方式保存用户配置文件:

当我通过 python manage.py shell 运行 shell 时,它工作正常;在表中保存用户对象和用户配置文件,但如果我通过启动请求进行测试,在处理该请求的 views.py 中,我执行以下操作

当然,我创建了一个 HttpResponse 并返回了一个响应,但为简洁起见省略了它。结果是我在 auth_user 中保存了一个用户条目,但没有用户配置文件。什么交易?请帮忙。

0 投票
3 回答
2898 浏览

django - 在 Django 中为不同类型的用户配置文件解析不同视图的 url

我正在向站点添加一种新类型的用户配置文件,这种新类型的用户(比如 new_type)应该无法像现有用户一样访问相同的视图。

我的问题是:如何根据用户类型使用相同的请求路径使用不同类型的视图,而无需更改现有视图代码,例如添加

每个视图?

详细地:

我想为这两种类型的用户使用“http://mysite.com/path/”,运行不同的逻辑并返回不同的显示,而不会对现有视图产生差异(因为有很多视图需要修改)。

我正在考虑为新类型添加不同的视图组,然后覆盖 urls 逻辑以解析到相关视图的请求路径,例如:

举个简单的例子:从同一个登录 url 登录 admin 和普通用户,如果用户是 admin,则为 admin 运行相关视图并将 django admin 显示返回给她,如果是普通用户,则运行普通视图并返回 normal网站查看给她,无需重写或更改他们请求的 url。(例如/索引/)

是否可以以这种方式扩展 Django 中的 url,如果可以,或者我应该放弃重载相同的请求路径并将“/new_type/”添加到 url (http://mysite.com/new_type/path/)for新类型用户?

谢谢

0 投票
2 回答
3303 浏览

scala - 如何在 Scala 中扩展现有的枚举对象?

我想知道您是否可以扩展 Scala 中已经存在的枚举。例如:

可以这样扩展:

那么,FourLeggedAnimal 中的元素将是 Cat、Dog 和 Dragon。这可以做到吗?

0 投票
2 回答
1002 浏览

php - MySQLI 扩展和原生错误处理

我正在尝试扩展 PHP5 MySQLi 库

我扩展该类的原因是添加默认情况下不包含的我需要的功能和特性。对于我创建的函数,我想以与处理任何本机函数完全相同的方式处理错误。

我希望使用该类的人不必确定这些功能是原生的还是定制的。

正常功能

if ($_mysqli->query($sql) === false) die($_mysqli->error);

所需的定制功能示例

if ($_mysqli->run_config() === false) 死($_mysqli->error);

班级

在我的扩展 mysqli 的类 mysqli_ls 中,我有以下函数,我希望它们能在父 mysqli 类中设置错误消息..

我已经尝试了上面的错误方法: PHP Fatal error: mysqli_ls::handle_error(): Cannot write property

以及导致语法错误的静态调用语法,如下所示:

我希望该类的用户无缝地拥有默认的 MySQLI 功能和扩展功能,而不必使用不同的方法来识别错误。

提前感谢您提供的任何建议或意见。

编辑:添加全班

调用类的测试脚本

编辑:所以看起来 MySQLi 类中的错误变量可能是只读的。还有其他方法可以解决这个问题吗?我想也许有我自己的错误函数来检查父类和我自己的变量。