Questions tagged «scope»

范围是将值和表达式相关联的封闭上下文。对于涉及不同类型范围的问题以及范围可能不清楚的问题,请使用此标签。


4
成员函数中的静态变量
有人可以解释一下成员函数中的静态变量如何在C ++中工作。 给定以下类别: class A { void foo() { static int i; i++; } } 如果我声明了多个实例 A,则foo()在一个实例上调用是否会i在所有实例上增加静态变量?还是只有一个被调用? 我假设每个实例都有自己的副本 i,但是逐步执行某些代码似乎并非如此。
158 c++  static  scope 

5
在一个类中声明一个枚举
在以下代码段中,Color在Car类内声明了枚举,以限制枚举的范围,并尝试不“污染”全局名称空间。 class Car { public: enum Color { RED, BLUE, WHITE }; void SetColor( Car::Color color ) { _color = color; } Car::Color GetColor() const { return _color; } private: Car::Color _color; }; (1)这是限制Color枚举范围的好方法吗?或者,我应该在Car类之外声明它,但可能在其自己的名称空间或结构中声明它?我今天刚看过这篇文章,该文章提倡后者,并讨论了有关枚举的一些不错的观点:http : //gamesfromwithin.com/stupid-c-tr​​icks-2-better-enums。 (2)在此示例中,当在类中工作时,最好将枚举编码为Car::Color,还是就Color足够了?(我假设前者比较好,以防万一Color在全局名称空间中声明了另一个枚举。至少,这样,我们明确了我们要引用的枚举。)
150 c++  class  enums  namespaces  scope 

7
使用ngRepeat时限制显示结果的数量
我发现AngularJS教程很难理解。这是引导我构建一个可显示手机的应用程序。我正在执行步骤5,我想作为一个实验,尝试让用户指定他们希望显示多少。该视图如下所示: <body ng-controller="PhoneListCtrl"> <div class="container-fluid"> <div class="row-fluid"> <div class="span2"> <!--Sidebar content--> Search: <input ng-model="query"> How Many: <input ng-model="quantity"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <option value="age">Newest</option> </select> </div> <div class="span10"> <!--Body content--> <ul class="phones"> <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> {{phone.name}} <p>{{phone.snippet}}</p> </li> </ul> </div> </div> </div> </body> …

6
带有lambda和Rails 4风格的参数的范围?
我想知道在Rails 4中如何完成以下操作,或者我是否只是使用Rails 3方法来使用可以传递参数的lambda,而lambda可以像4一样传递参数,就像3一样。 我是Rails 3的新手,正在尝试研究一些运行Rails 4的示例。 这是我的Rails 3代码: class Person < ActiveRecord::Base scope :find_lazy, lambda {|id| where(:id => id)} end # In console I can call Person.find_lazy(1) 因此,如果这是Rails 4的使用-> {}的方法,那就是lambda,对不对?scope :all_lazy, -> { select("*") }如果我需要吵架怎么办。我尝试了几种不同的想法,并在使用-> {}时在控制台中出现了参数错误。

5
轻松设置“此”变量?
除了无法找到设置“ this”变量的好方法之外,我对Javascript有很好的理解。考虑: var myFunction = function(){ alert(this.foo_variable); } var someObj = document.body; //using body as example object someObj.foo_variable = "hi"; //set foo_variable so it alerts var old_fn = someObj.fn; //store old value someObj.fn = myFunction; //bind to someObj so "this" keyword works someObj.fn(); someObj.fn = old_fn; //restore old value 没有最后四行,有没有办法做到这一点?这很烦人……我试图绑定一个匿名函数,我认为它是美丽而聪明的,但无济于事: …

28
为什么不在“捕获”或“最终”范围内的“尝试”中声明变量?
在C#和Java(可能还有其他语言)中,在“ try”块中声明的变量不在相应的“ catch”或“ finally”块中。例如,以下代码无法编译: try { String s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java fans: think "System.out.println" here instead } 在此代码中,在catch块中对s的引用发生编译时错误,因为s仅在try块的范围内。(在Java中,编译错误是“无法解决”;在C#中,它是“名称s在当前上下文中不存在”。) 解决此问题的一般方法似乎是在try块之前而不是在try块内声明变量: String s; try { s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java fans: think "System.out.println" here instead } 但是,至少对我来说,(1)感觉像一个笨拙的解决方案,(2)它导致变量的范围比程序员预期的范围大(方法的整个其余部分,而不仅仅是在上下文中)。最终尝试捕获)。 我的问题是,此语言设计决定(使用Java,C#和/或任何其他适用的语言)背后的基本原理是什么?

7
Spring Java Config:如何创建带有运行时参数的原型作用域@Bean?
使用Spring的Java Config,我需要使用只能在运行时获得的构造函数参数来获取/实例化作用域原型的bean。考虑以下代码示例(为简便起见,对其进行了简化): @Autowired private ApplicationContext appCtx; public void onRequest(Request request) { //request is already validated String name = request.getParameter("name"); Thing thing = appCtx.getBean(Thing.class, name); //System.out.println(thing.getName()); //prints name } Thing类的定义如下: public class Thing { private final String name; @Autowired private SomeComponent someComponent; @Autowired private AnotherComponent anotherComponent; public Thing(String name) { this.name …

9
在for循环中声明的变量是局部变量吗?
我已经使用C#很长时间了,但从未意识到以下几点: public static void Main() { for (int i = 0; i < 5; i++) { } int i = 4; //cannot declare as 'i' is declared in child scope int A = i; //cannot assign as 'i' does not exist in this context } 那么,如果不允许我使用该名称声明变量,为什么不能在for块之外使用'i'值呢? 我认为for循环使用的迭代器变量仅在其范围内有效。
133 c#  variables  scope 

8
如何在VBA中声明全局变量?
我写了以下代码: Function find_results_idle() Public iRaw As Integer Public iColumn As Integer iRaw = 1 iColumn = 1 我收到错误消息: “ Sub或Function中的无效属性” 你知道我做错了吗? 我尝试使用Global代替Public,但是遇到了同样的问题。 我试图将函数本身声明为`Public,但这也没有好处。 我需要做什么来创建全局变量?

8
跨多个文件的Javascript中的全局变量
我的一堆JavaScript代码位于一个名为helpers.js的外部文件中。在调用此JavaScript代码的HTML内,我发现自己需要知道是否已经调用了helpers.js中的某个函数。 我试图通过定义以下内容来创建全局变量: var myFunctionTag = true; 在我的HTML代码和helpers.js中的全局范围内。 这是我的html代码如下所示: <html> ... <script type='text/javascript' src='js/helpers.js'></script> ... <script> var myFunctionTag = false; ... //I try to use myFunctionTag here but it is always false, even though it has been se t to 'true' in helpers.js </script> 我想做的事可行吗?


2
在Java中,类内的枚举类型是静态的吗?
我似乎无法像从内部类内部那样从枚举内部访问周围类的实例成员。这是否意味着枚举是静态的?是否可以访问周围类的实例的范围,还是我必须在需要的地方将实例传递给枚举的方法? public class Universe { public final int theAnswer; public enum Planet { // ... EARTH(...); // ... // ... constructor etc. public int deepThought() { // -> "No enclosing instance of type 'Universe' is accessible in this scope" return Universe.this.theAnswer; } } public Universe(int locallyUniversalAnswer) { this.theAnswer = locallyUniversalAnswer; …
123 java  enums  scope 

19
javascript:递归匿名函数?
假设我有一个基本的递归函数: function recur(data) { data = data+1; var nothing = function() { recur(data); } nothing(); } 如果我有匿名功能,例如... (function(data){ data = data+1; var nothing = function() { //Something here that calls the function? } nothing(); })(); 我想要一种调用该函数的函数的方法...我曾经在某个地方(我不记得在哪里)看到过脚本,这些脚本可以告诉您所调用的函数的名称,但是我不记得其中任何一个该信息现在。

4
For循环在自己的花括号内
我遇到了这种for循环布局: #include <iostream> int main() { { for (int i = 0; i != 10; ++i) { std::cout << "delete i->second;" << std::endl; } } { for (size_t i = 0; i < 20; ++i) { std::cout << "delete m_indices[i];" << std::endl; } } return 0; } 我想知道这多余的括号是干什么用的?这在我们的代码库中出现了几次。
117 c++  for-loop  scope 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.