问题标签 [name-binding]

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 投票
1 回答
146 浏览

mysql - MySQL名称绑定?

谁能告诉我为什么最里面的子查询不知道 s.score 列?

0 投票
1 回答
862 浏览

java - Spring Boot Rest 中的 Jersey 名称绑定技术

我看过 jersey 的名字绑定策略来屏蔽 api,对于身份验证来说非常酷,只对要认证的端点进行注释也很酷,并且在 jersey 中可以将注释绑定到过滤器。

有人知道如何在春季启动中实现这一目标吗?

0 投票
1 回答
763 浏览

python - 使用字典来乘以引用 Pandas 之类的列

我有一个像这样的数据框,我想使用 pandas 将行乘以其在另一个数据框中的引用值。之后,我想添加这些行中的所有产品并将其存储在名为 Pro_Sum 的列中。我知道 Python 不会通过引用传递东西,但我可以在这里进行名称绑定,所以我试图创建一个字典来根据其名称乘以值,但我没有成功。

输入

参考专栏

最小输出

0 投票
1 回答
64 浏览

python - python可以优化过多的名称绑定吗?

python 编译器可以优化掉不必要的名称绑定吗?例如,可以将一个函数定义为:

被优化为

0 投票
0 回答
289 浏览

jax-rs - JAX-RS writer 拦截器适用于每个响应,即使使用 NameBinding

我需要拦截为特定 API 调用生成的来自服务器的响应并进行更改。
为此,我使用了 JAX-RS 'WriterInterceptor',并且还创建了一个 NameBinding。
但是服务器正在拦截来自服务器的每个响应。我在这里做错了什么?

下面显示的是我尝试过的代码。为什么名称绑定不起作用?(我已经验证,在调用其他 API 资源时,我使用名称绑定的特定方法不会被调用。)

名称绑定

拦截器

API 资源

豆类.xml

当我使用上述方法时,服务器的每个响应都会被拦截并添加消息。但我只希望特定资源调用拦截器。


此外,除了带有 writerInterceptor 的 JAX-RS 拦截器之外,还有其他好的选择来实现这一点吗?

0 投票
1 回答
37 浏览

sql-server - SQLServer 2014 - 使用没有架构限定的名称

我有同名的表和视图:“dbo.Users”(表)和“www.Users”(表)。代码中的select语句如下所示:

我检查了两个不同的用户,似乎在这两种情况下都使用了视图。管辖此案的具体规则是什么?我尝试寻找name binding,name search order和类似的,但无法在文档中找到任何结论性的东西。

0 投票
0 回答
25 浏览

python - 函数语句中的名称绑定

以下 Python 程序:

输出:

x受表达式中的引用约束。lambdafor语句之后,x被绑定到 2,它解释了输出。

我想x改为受约束,以获得以下输出:

我怎样才能做到这一点?

0 投票
2 回答
155 浏览

c++ - 为什么 lambda 通过引用捕获仍在使用悬空引用?

令我惊讶的是,以下 C++ 程序:

输出:

我希望得到的输出与取消注释注释行时得到的输出相同:

因为 lambda通过引用(而不是通过 valuef捕获自动变量,并且在调用点不在上下文中(所以在body 中是一个悬空引用)。x xf()xf

为什么 lambda 通过引用捕获仍在使用悬空引用?

0 投票
2 回答
103 浏览

javascript - 当引用在Javascript中脱离上下文时,按引用捕获会变成按值捕获吗?

以下 Javascript 程序:

输出:

所以似乎首先通过引用g捕获(因为 inside ,然后打印然后何时反弹),这意味着闭包环境看起来像,然后通过值(因为 outside ,在body末尾脱离上下文时打印) ,这意味着闭包环境看起来像.x fg()01xg{'x': x}fg()1xfg{'x': 1}

我试图将此行为与提供按引用和按值捕获的 C++ lambda 相关联,但与 Javascript 相反,不允许按引用捕获通过变成按值捕获(而是调用lambda 成为未定义的行为)。

这是对 Javascript 捕获的正确解释吗?

如果这种解释是正确的,那将清楚地解释块范围变量 ( let) 的捕获如何在for循环中工作:

0 投票
0 回答
57 浏览

r - 保护我的 R 包中的“私有”对象

动机

我正在开发一个 R 包(调用它pkg),它在运行缓存中收集一些由其函数调用生成的对象。list将缓存实现为命名空间中的对象(调用它.cache)非常简单pkg。但是,我想防止用户直接干扰缓存,它总是可以通过:::语法暴露:pkg:::.cache.

也就是说,我想保护.cache类似于面向对象编程中的私有字段。所有操作.cache都应由内部辅助函数完成,这些辅助函数由@export具有“API 风格”的 ed 函数专门调用。

问题

因此,我有在命名空间中定义一个environment对象(称为它.vault)的想法,所以我可以......把 my.cache放在我的.vault.

3

我的困惑是,像这样的环境.vault是 R 中为数不多的通过引用起作用的东西之一。所以我担心pkg:::.vault会暴露.vault其内容或对其内容进行修改和查看。我可以改变我的访问器功能,pkg:::.get_cache()这样它们.vault就不会启用这种暴露,但是如果可以直接就地修改,所有这些努力都是徒劳的。

别跑

例如,考虑下面这个危险的(?) 代码。首先,我从、 到“识别目标”检查内部.S3MethodsClasses环境:dplyr

然后我检查该rowwise_df对象并认为它是一个有价值的“目标”:

最后,我利用了这样一个事实,即与dplyr命名空间中的大多数对象不同......

...一个像.S3MethodsClasses 点引用这样的环境,所以它的内容可以很容易地就地修改:

就这样,“金库”被抢劫了!

怀疑

我怀疑答案可能就在这里,lockEnvironment()和朋友一起,但应用程序有点超出我的能力。也许我可以做一些事情.onLoad来设置.vault环境,然后它会被lock*()编辑——它.vault本身和其中的绑定——但不是在和一个访问器函数之间建立一个活动绑定之前,它将填充在命名空间中。.cache.get_cache()pkg

笔记

我已经在开发一个功能来终止(帮助)函数,比如.get_cache()当它们在命名空间的同伴函数之外被调用时pkg。因此,曝光pkg:::.get_cache()不会让用户.get_cache()手动操作或在他们自己的自定义功能中操作。

正规

我特别感谢 R 开发人员的建议,他们有足够的经验提供一个规范的答案(如果有的话)。