问题标签 [introspection]

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 投票
5 回答
4760 浏览

python - 在 Python 中查找原始异常的模块名称

例子:

在上面的示例中,异常实际上是在 myapp/util/url.py 模块中引发的。有没有办法获得该__name__模块的?

我的意图是在logging.getLogger函数中使用它。

0 投票
5 回答
9472 浏览

python - 查找在模块中明确定义的函数(python)

好的,我知道您可以使用 dir() 方法列出模块中的所有内容,但是有没有办法仅查看该模块中定义的函数?例如,假设我的模块如下所示:

即使我使用inspect() 过滤掉内置程序,我仍然会留下任何导入的内容。例如我会看到:

['日期','日期时间','测试']

有没有办法排除进口?或者另一种找出模块中定义的方法?

0 投票
4 回答
909 浏览

objective-c - 是否可以使用 Objective-C 运行时特性来确定从哪里调用方法?

当一个对象调用另一个对象的方法时,Objective-C 使用复杂的消息传递系统。我想知道是否有可能在被调用的方法中确定调用对象是什么?

例如:

为了使断言在执行时通过,我可以在注释行中写些什么performTest

0 投票
3 回答
8124 浏览

c# - C# "is" 运算符 - 那是反射吗?

一位同事今天问了我一个有趣的问题——C# 关键字/运算符“is”是否被认为是反射?

这个操作符是如何在幕后实现的?它需要反思还是自省?或者由于语言的强类型特性,对象的类型是否可以作为内存中对象的顶级属性立即访问?

MSDN指出:

请注意,is 运算符仅考虑引用转换、装箱转换和拆箱转换。is 运算符不考虑其他转换,例如用户定义的转换。

考虑装箱和未装箱转换的能力对我来说似乎意味着某种内省。

0 投票
2 回答
379 浏览

python - 列出内置函数和方法 (Python)

我想出了这个:

我知道它丑陋。你能告诉我一个更好/更pythonic的方式吗?

0 投票
6 回答
5534 浏览

java - Java 包内省

如何获取包中的所有类?

0 投票
3 回答
863 浏览

c# - 在 C# 中,什么是“is”关键字的等价物,但使用 Type 对象

我猜这是一个简单的问题,但在 Type 类的文档中,他们只讨论 GetInterfaces 方法上的接口。

即 typeof(ChildClass).XXX(typeof(ParentClass)

0 投票
2 回答
141 浏览

oracle - 有没有办法以编程方式将 oracle 表定义从一个数据库“移动”到另一个数据库?

假设我有两个 Oracle 数据库。我们将它们称为数据库 A 和数据库 B。

现在假设我在数据库 A 中有一个表,其定义如下:

...是否有任何简单的方法可以在数据库 B 中使用相同的主键和相同的外键创建同一张表,但没有任何数据?如果有一个纯 SQL 方法,那将是理想的,这样我可以在 Python 中使用 cx_Oracle 执行此操作,但如果需要,我可以启动一个 shell 脚本。

0 投票
1 回答
197 浏览

iphone - 如何在 Objective-C 中追踪发送到特定类或实例的所有消息?

我想追踪由 Objective-C 运行时发送到特定类的所有消息,比如 UITableView(或特定实例),以便我可以更好地理解某些类的内部工作。有没有办法做到这一点?

另一个用例是跟踪所有正在调用的委托方法(比如 UITableViewDelegate 方法),而无需声明它们并在每个委托方法中放置一个跟踪方法。

0 投票
3 回答
4355 浏览

apache-flex - Actionscript 3 内省——函数名

我正在尝试遍历对象的每个成员。对于每个成员,我检查它是否是一个函数。如果它是一个函数,我想获取它的名称并根据函数的名称执行一些逻辑。我不知道这是否可能。是吗?有小费吗?

例子:

我很难在这方面找到很多东西。谢谢您的帮助。