问题标签 [global-scope]
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.
python - 共享 python globals() 交叉文件
这个问题与python的全局范围有关。
下面有两个文件。
文件A.py
文件B.py
当我跑步时python fileB.py
。fileA.py 的 globals() 只包含 fileA 的内容。
是否可以global_funcB
从 fileA.py 中获取 fileB.py 中的地址?到目前为止,我只能从 fileB.py 执行此操作。
注意:出于我的目的,无法从 fileA.py 导入 fileB
[编辑]
让我清楚地描述我的目的。
加载器.py
builder.py + 类函数
如果我从fileB传递一些模块/类来构建fileA,那么就可以获取fileB的函数。
但是,如果 builder.py 中的函数是全局的。
builder.py + 全局函数
我不知道如何将 globals() 作为模块/类传递给另一个文件。
python - python 全局变量范围混淆。这些变量是什么不可访问的?
我看到这里有一些这样的问题,但我还没有找到一个与我所追求的匹配的退出。
我有一个通用文件,我们称之为 tools.py。在这个文件中,我有许多要使用的路径定义和一个 init_paths 函数来根据命令行参数设置一些关键路径:
ETC...
我有一个主文件,我们可以在我想使用它们的地方将其命名为 main.py。
可以肯定的是,我已经省略了肉和土豆,但我相信这应该足以说明我的全球范围问题。当我运行这个: 时python main.py --tools-set=/path/to/tools
,我期待调用 init_paths 来设置一些我希望稍后在doStuffFunction()
.
这失败了:AttributeError:'NoneType'对象没有属性以结尾
很确定这是因为它没有被设置。但为什么?
编辑
主文件
工具.py
php - 全局函数和将此类函数包装到命名空间类之间有什么区别吗?
假设您有一个全局method()
.
您可以将其移动到名称空间和类中,并将其命名为
有什么区别吗?一个比另一个更好吗?
从本质上讲,您没有更改任何内容,并且该方法适用于所有意图和目的,就像以前一样全局 - 您仍然可以从任何地方调用它,但您必须输入更多字符。我错过了一些令人尴尬的基本内容吗?
laravel - Singleton 创建了两次
在 Laravel 5.4 中,我注册了一个服务提供者,它为我的 Context 类创建了一个单例,该类包含应用程序上下文。
上下文服务提供者
然后我创建了一个具有全局范围的 Eloquent 模型。
模型媒体
现在,当我在 SchoolScope 范围内访问 Context 单例时,会创建两次单例!
学校范围
有谁知道为什么单例会被创建两次?
javascript - WebPack:需要一个 javascript 文件进入全局范围
如何require()
将供应商库纳入全局范围(使用 WebPack 捆绑器)?与它是否实际上有任何exports
定义无关。我只需要一个库,以便页面上的其他一些脚本也可以使用它。
我通过使用以下方法找到了可能的解决方案script-loader
:
一切都很完美,但该解决方案的主要缺点是包含的脚本实际上是通过eval()
函数评估的:供应商库代码bundle.js
作为字符串添加到结尾(而不是作为实际代码)。是否有任何类似的解决方案将库作为代码包含在末端捆绑中,而不是作为字符串?
PS 有时我需要动态地做,所以我不能把它添加到 webpack 的配置中。
python - Python如何在需要全局的方法中声明一个类
我有以下功能:
然后我有以下程序:
get_area() 方法是一个错误,因为 circle 在该范围内不存在,所以我的问题是,如何以一种不错的 pythonian 方式将 circle 类声明为全局类?我正在考虑在程序顶部声明它,例如:
然后在 create_figures() 方法中覆盖它。
python - 如何在 Python 的嵌套函数中正确引用全局变量
假设我有以下简单的情况:
这将导致以下回溯:
我知道我可以转到results = []
该if
语句以使此示例正常工作,但是有没有办法保持我现在拥有的结构并使其正常工作?
indexing - Lua - 现有索引的 __newindex 元方法?
我最近在 lua 中了解到 methatables 的存在,我一直在玩弄它们,直到我想到一个想法:是否可以使用它们来尝试避免表中的“重复”?我搜索和搜索,到目前为止找不到我要找的东西,所以我在这里。
- 所以这就是我想要做的,以及目的:
它将用于 WoW 插件编程。我想制作一个在全局范围内创建变量或函数时会提示警告的工具(避免使用它,因为可能与其他插件发生命名冲突)。我想从那里做的另一件事是将所有传输重定向到 _G 表。因此,当用户在全局范围内创建变量或函数时,该工具会捕获它,将其存储在表中而不是 _G 中,并且每当用户尝试从 _G 访问某些内容时,该工具会首先在所说的桌子; 并仅使用 _G 作为后备。这样,用户就不必担心适当的封装或命名,该工具会为他处理一切。
- 我已经设法做到了:
我在 _G 上设置了一个 __newindex 元方法来捕获全局范围的变量和函数,并在插件加载结束时删除元方法,以避免它被其他插件使用。对于“_G 传输的间接”,我已经知道如何在尝试使用 _G 之前使用 __index 来尝试给出存储在另一个表中的值。
- 我遇到的问题:
这很好用,但仅适用于 _G 中尚不存在的变量和函数。每当为 _G 表中已经存在的键分配值时,它都不起作用(原因很明显)。我确实希望能够捕捉到这些情况,并且基本上不可能真正覆盖_G的内容,而是使用一种“重载”(但用户甚至不必知道这一点)。
- 我尝试了什么:
我试图挂钩 rawset,看看它是否被自动调用,但似乎不是。
我无法在 lua 中找到很多关于 _G 表的文档,主要是因为名称短。我确定某处一定存在某些东西,我可能可以使用这些信息以我想要的方式完成事情,但目前我只是有点迷失并且没有想法。所以,是的,我想知道是否有任何方法可以“捕获”所有“对 rawset 的隐式调用”,以便在让它执行操作之前进行一些检查。我收集到显然没有 __existingindex 或其他东西的元方法,所以你知道有什么方法吗?
eloquent - 如何在 Eloquent 中全局限制用户的结果?
我在Laravel 之外使用 eloquent 作为 slim-jwt-auth ( https://github.com/tuupola/slim-jwt-auth ) 的 slim 3 项目的一部分。在很多情况下,我想根据发出请求的用户来控制返回的项目。
但据我了解,没有办法添加额外的参数,例如user_id
在 eloquent 全局范围内使用。
我发现一篇最初看起来很有帮助的博客文章,因为它正是我想要实现的目标(http://www.sdavara.com/Eloquent-Global-Scopes-A-cool-and-easy-way-to-fetch -loggedin-user-data/),但它依赖于 Laravel Auth。
我的解决方案需要在全球范围内工作这一事实很重要,因为我有许多嵌套关系,在查询时也应该按用户 ID 过滤。
谁能建议实现这一目标的最佳方法是什么?
javascript - 在全局范围内使用“this”调用时,让声明显示“未定义”
这个问题最好用代码解释:
为什么是这样?