问题标签 [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 投票
2 回答
1131 浏览

stack - 有人可以解释这几行 MSIL 吗?

有人可以解释这几行 MSIL 吗?为什么它将评估堆栈中的值移到局部变量中,只是立即将其移回并返回?

以下 MSIL 代码加载单个参数(字符串),调用返回 bool 的方法,然后返回该 bool 值。我不明白为什么它调用 stloc.0 将方法的返回值存储在局部变量中,然后执行显式无条件控制转移到下一个标记行(似乎没有必要),只是将值移回返回之前的评估堆栈。

我对它为什么这样做的最佳猜测是执行某种类型检查以确保评估堆栈上的值在返回之前实际上是一个布尔值。但是我对明确跳转到下一行一无所知;我的意思是,它不会去那里吗?该方法的 C# 源代码只有一行,它返回该方法的结果。

0 投票
2 回答
2392 浏览

ruby-on-rails - 你应该只在局部变量中使用局部变量吗?

使用局部变量似乎是可取的,可以在应用程序范围内使用以避免跨应用程序的依赖关系。

但是在单个控制器中,引用实例变量似乎是可以接受的,您知道这些实例变量将在所有使用部分的操作中可用。

但是,如果您这样做,似乎存在风险,即特定操作可能会更改为不再向其视图提供实例变量。然后部分将停止工作。不过,我不确定这是否真的是一个问题,因为常规视图会遇到同样的风险。

如果您在部分中引用实例变量,这有关系吗?

0 投票
3 回答
6328 浏览

ruby-on-rails - Rails 局部局部变量在作为自己的局部变量发送到另一个局部变量时不会持续存在

我像这样渲染一个部分:

所以在里面_some_partial.html.erb我渲染了两个像这样的局部:

foo 局部变量some_partial.html.erbanother_partial_again.html.erb. 但是,another_partial.html.erb即使我在渲染调用中明确传递了 foo 变量,也无法访问它。

这里发生了什么?

谢谢您的帮助。

0 投票
5 回答
14634 浏览

python - 有什么办法可以修改本地人字典吗?

locals是一个内置函数,它返回一个本地值的字典。文档说:

警告

不得修改本词典的内容;更改可能不会影响解释器使用的局部变量的值。

不幸的是, exec 在 Python 3.0 中也有同样的问题。有没有办法解决这个问题?

用例

考虑:

依赖将其参数中提供的字符串存储在一个列表中test.dependences。这些字符串是字典中的键d。我希望能够编写put_into_locals,以便我们可以将值提取出来d并将它们放入本地。这可能吗?

0 投票
2 回答
8568 浏览

mysql - 具有局部变量的动态 MySQL

如何在 MySQL 数据库中使用动态 SQL 语句而不使用会话变量?

现在我有这样一个代码(在 MySQL 存储过程中):

但我只想使用局部变量,这意味着我想开始这个过程:

并且不要在任何地方使用@char。有没有办法做到这一点?

0 投票
6 回答
576 浏览

c# - C#中的局部变量问题

我有几个变量需要在 for 循环中分配。显然,当循环退出时,C# 会忽略其中发生的任何事情,并且变量会返回到它们的原始状态。具体来说,我需要它们成为列表的最后一个和倒数第二个元素。这是代码:

注意:不要介意不好的变量名,它们实际上是临时变量。任何更复杂的事情都会使事情变得混乱。

现在,有两种方法(我知道)可以解决这个问题:一种是弄清楚如何在循环退出后使变量生效,另一种是在 Python 中执行类似的操作,您可以在其中temp = my_list[-1]获取最后一个元素的一个列表。这些在 C# 中是否可行?

编辑:当我尝试编译时,出现“使用未分配的局部变量 'temp1'”错误。这段代码甚至没有运行,它只是坐在一个永远不会被调用的方法中。如果这有帮助,我正在尝试在另一个循环中使用变量。

0 投票
2 回答
557 浏览

ruby-on-rails - 使用传递给 def 的数组中的变量 - Rails

我正在使用 Google 图表 API 在我的 Rails 应用程序中生成饼图。但是,我在将局部变量传递给帮助程序中的 def 时遇到问题。def 采用 [label, value] 对的二维数组。当我尝试将局部变量作为值传递时,它不喜欢它。这些是提前计算的,并且采用货币格式。将变量放在引号中或 in#{}也不起作用。

application_helper.rb

视图中的 def 调用:

如何传递局部变量?

0 投票
1 回答
5391 浏览

java - Java final 局部变量存储在哪里?

举个例子:

首先,env存储在哪里?是吗:

  • 由编译器复制到引用它的内部类的隐藏成员变量中
  • 复制到堆并在堆上引用
  • 留在堆栈上并以某种方式在那里引用
  • 别的东西

我的猜测是第一个选项。

其次,做任何由此产生的性能问题(而不是简单地创建env为类的成员变量并引用它),特别是如果您正在创建大量引用最终局部变量的此类内部类构造。

0 投票
5 回答
23839 浏览

ruby - 在 Ruby 中取消定义变量

假设我正在使用irb,然后键入a = 5。如何删除 的定义,a以便键入a返回 a NameError

一些背景:稍后我想这样做:

0 投票
7 回答
14321 浏览

c# - 如何在 C# 中声明一个局部常量?

如何在 C# 中声明一个局部常量?

就像在 Java 中一样,您可以执行以下操作:

如何在 C# 中做同样的事情?我试过了readonlyconst但似乎没有一个工作。

任何帮助将不胜感激。

谢谢。