问题标签 [local-variables]

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 回答
4810 浏览

python - Python中的未绑定局部变量问题

我有以下代码片段:

它的作用真的无关紧要,但是我以原始形式发布它,因为我无法用更简单的方法重现这种情况。

问题是,当我打电话时,我isolation_level(1)(some_func)(some, args, here)Unbound local variable第 21 行(在清单上标记)出现异常。我不明白为什么。我尝试重新创建不包含所有实现细节的函数和函数调用的相同结构来找出问题所在。但是我没有收到异常消息。例如以下作品:

印刷:

我错过了什么??

编辑

好的,所以问题是在第一个版本中,我实际上对变量执行了赋值。Python 检测到这一点,因此假定该变量是本地的。

0 投票
4 回答
142 浏览

ruby - 我想在这里使用什么样的 Ruby 变量?

我还在学习 Ruby,我很好奇在这种情况下使用类变量、常量还是局部变量是否合适。

在我下面的代码示例(从固定字符集中生成随机用户名)中,分配@username为实例变量是相当明显的。但我很好奇我应该将字符集分配为常量还是类变量。在这种情况下使用另一种变量类型有什么好处?

在当前示例中,_charset在每个实例中计算 。(如果我的假设是错误的,请纠正我。)我还假设计算将在实例之间共享(而不是重新计算)作为类变量和常量?

0 投票
4 回答
833 浏览

c# - 使用未分配的局部变量?C#

我有以下代码:

当我运行它时,我收到错误:使用未分配的局部变量'ticketPrice'

如您所见,它确实从循环中分配了一个值。

如果我确实使用:

错误发生,但值保持在0.0,但我不明白,因为消息框每次都会出现并输出值,所以我假设 的值tt.ticketPrice正在填充ticketPrice

任何人都可以在这件事上帮助我。

谢谢

0 投票
4 回答
409 浏览

c++ - “虚拟”循环优化中的局部变量声明

这一次,我找不到我要找的东西(不知道如果我不是在寻找合适的东西......)但是,这里是:

在 C++ 中,假设您有一个Bar()每个周期调用一次的函数......就像这样:

现在,my_arrays 是临时数组,作为数据成员并不重要,只是用来填充类成员......显然,调用该函数的开销是不必要的......有没有办法(嗯,我正在尝试避免将它们作为类成员)告诉编译器“节省分配空间”或其他东西,以便它们减少开销?const 会给编译器任何提示吗?我不确定我是否清楚...

不管怎样,谢谢!

0 投票
3 回答
4435 浏览

c# - C# 可重用函数转储局部变量的当前值

我想编写一个可以在任何方法中调用的可重用函数来记录所有局部变量的快照。例如:

我想得到这样的控制台输出:

我想避免提供特定的局部变量名称列表。

我能找到的最接近的是MethodInfo.GetCurrentMethod().GetMethodBody().LocalVariables,但我不知道如何使用反射访问局部变量的值。

反射 API 似乎很适合静态分析,但不适合像这样的动态分析。例如,变量t在第一次调用时不在范围内dumpLocalVariables,但它仍然出现LocalVariablesMethodBody.

我怀疑我忽略了一个调试 API。Developer Studio 在断点时如何填充“本地”选项卡?有没有办法在运行时做类似的事情?

编辑:

我可以在 ILSpy 中看到我的示例类使用像 ldloc.0 和 ldloc.1 这样的 IL 代码来获取第一个和第二个局部变量。

然后

也许我可以使用某种类似代理的机制来让我做同样的事情?我不介意对我的可重用方法的调用是否混乱,我只想要一些可以粘贴到任何代码块中而无需大量手动编辑的东西。

0 投票
1 回答
3079 浏览

javascript - 访问闭包范围内的私有(局部)变量

我正在制作一个 google chrome 扩展并尝试在闭包范围内获取局部变量的引用。

所以我在我的内容脚本中尝试做的是将一个函数注入到原型中Match ,以获取变量player_redplayer_blue

但这不起作用,因为player_red并且player_blue没有在this.

我通过搜索找到了这个问题。解决方案是“将构造函数包装在新的构造函数中,然后将原型设置为相等”。不幸的是,这对我不起作用,因为我无法访问网站的原始脚本,可能是因为:

  • 即使通过 create new myMatch, newmyMatch也不会从其原始实例继承player_redand变量。player_blueMatch
  • 有没有可能的解决方法?谢谢。
0 投票
4 回答
6136 浏览

objective-c - Objective-C 中的 int 是否有默认值 1?

我有这行简单的代码:

x自动具有值 1。我没有将其设置为任何值,但是当我调试时,它显示x为 1。

anint的默认值为 1 吗?

0 投票
2 回答
1025 浏览

c++ - llvm:在函数返回之前生成清理析构函数

在 LLVM 中,通常您将退出生成的函数CreateRet,但是,我想为函数中实例化的本地对象添加清理析构函数。

我的问题是:我假设我必须在插入之前插入清理函数调用CreateRet,但是,我想知道返回值是否是本地值之一(假设我们按值返回)然后我们不能在返回之前破坏这个值,但是返回后本地也不会被破坏,所以我想说我对本地人的生命周期以及在哪里正确插入清理有点困惑

0 投票
3 回答
1069 浏览

perl - Perl 映射块局部变量的使用

此代码通过一组路径中唯一基名存根的哈希键编译一组。

为什么我需要$f这里的参考资料?我以为我可以接受:

但我没有匹配。我不允许在地图块中修改 $_ 吗?



对于那些想知道代码在做什么的人:

对于每个 $path (@pathlist),它获取基本名称,匹配第一个字母数字序列,然后返回第一个括号匹配作为空列表值的键。例子:

返回

之后,我使用地图的键作为值集进行处理。

0 投票
1 回答
273 浏览

ruby-on-rails - 与局部变量中的实例变量和局部变量冲突

在一个视图中,我使用

其中@linkjob 是 Linktype 类型的实例变量

在另一个视图中我使用

其中 o 是 Linktype 类型的局部变量。两种情况下的两个变量都包含相同的信息。唯一的区别是它们的范围。

不过,如果我使用

在部分情况下,它为第二种情况呈现精美,但抛出了一个

在第一种情况下。

有没有办法将实例变量转换为局部变量或以其他方式解决这个问题?