Questions tagged «scope»

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

6
嵌套类的范围?
我试图了解Python嵌套类中的作用域。这是我的示例代码: class OuterClass: outer_var = 1 class InnerClass: inner_var = outer_var 类的创建未完成,并且出现错误: <type 'exceptions.NameError'>: name 'outer_var' is not defined 尝试inner_var = Outerclass.outer_var不起作用。我得到: <type 'exceptions.NameError'>: name 'OuterClass' is not defined 我正在尝试从访问静态outer_var信息InnerClass。 有没有办法做到这一点?

6
为什么可以从函数中返回“向量”?
请考虑此代码。我已经看过几次这种类型的代码。words是局部向量。如何从函数返回它? 我们可以保证它不会死吗? std::vector<std::string> read_file(const std::string& path) { std::ifstream file("E:\\names.txt"); if (!file.is_open()) { std::cerr << "Unable to open file" << "\n"; std::exit(-1); } std::vector<string> words;//this vector will be returned std::string token; while (std::getline(file, token, ',')) { words.push_back(token); } return words; }

4
嵌套函数中的局部变量
好的,请耐心等待,我知道它看起来会令人费解,但是请帮助我了解发生了什么。 from functools import partial class Cage(object): def __init__(self, animal): self.animal = animal def gotimes(do_the_petting): do_the_petting() def get_petters(): for animal in ['cow', 'dog', 'cat']: cage = Cage(animal) def pet_function(): print "Mary pets the " + cage.animal + "." yield (animal, partial(gotimes, pet_function)) funs = list(get_petters()) for name, f in funs: …

8
如何在Javascript .filter()方法中将额外的参数传递给回调函数?
我想将数组中的每个字符串与给定的字符串进行比较。我当前的实现是: function startsWith(element) { return element.indexOf(wordToCompare) === 0; } addressBook.filter(startsWith); 这个简单的函数有效,但是仅因为现在将wordToCompare设置为全局变量,但是我当然想避免这样做并将其作为参数传递。我的问题是我不确定如何定义startsWith(),因此它不能接受一个额外的参数,因为我不太了解如何传递其默认参数。我已经尝试过所有可以想到的不同方式,但没有一种有效。 如果您还可以解释将参数传递给“内置”回调函数的方法(对不起,我不知道这些参数有更好的用语)会很好

7
Bash变量范围
请向我解释为什么最后echo一句话是空白的?我希望XCODE在while循环中将其增加到1: #!/bin/bash OUTPUT="name1 ip ip status" # normally output of another command with multi line output if [ -z "$OUTPUT" ] then echo "Status WARN: No messages from SMcli" exit $STATE_WARNING else echo "$OUTPUT"|while read NAME IP1 IP2 STATUS do if [ "$STATUS" != "Optimal" ] then echo "CRIT: $NAME …
104 bash  scope  pipe 

8
枚举类型的名称空间-最佳做法
通常,一个人同时需要几种枚举类型。有时,一个人会发生名字冲突。有两种解决方案:使用名称空间,或使用“较大”的枚举元素名称。命名空间解决方案仍然有两种可能的实现:具有嵌套枚举的虚拟类或完整的命名空间。 我正在寻找这三种方法的利弊。 例: // oft seen hand-crafted name clash solution enum eColors { cRed, cColorBlue, cGreen, cYellow, cColorsEnd }; enum eFeelings { cAngry, cFeelingBlue, cHappy, cFeelingsEnd }; void setPenColor( const eColors c ) { switch (c) { default: assert(false); break; case cRed: //... break; case cColorBlue: //... //... } } …
102 c++  enums  scope  nested 



6
在Java开关中声明和初始化变量
我对Java开关有一个疯狂的问题。 int key = 2; switch (key) { case 1: int value = 1; break; case 2: value = 2; System.out.println(value); break; default: break; } 方案1-当key为2时,它成功地将值打印为2。 方案2-当我要在其中注释value = 2时case 2:,saying地说“本地变量值可能尚未初始化”。 问题: 场景1:如果执行流程没有转到case 1:(当时key = 2),那么它如何知道value变量的类型为int? 方案2:如果编译器将value变量的类型识别为int,则它必须已访问。(声明和初始化)中的int value = 1;表达式case 1:。那为什么它会吱吱作响?当我要发表评论value = 2时case 2:,说本地变量值可能没有初始化。

8
在AngularJs中设置动态范围变量-scope。<some_string>
我有一个从routeParam或指令属性或任何其他属性获取的字符串,我想基于此在作用域上创建一个变量。所以: $scope.&lt;the_string&gt; = "something". 但是,如果字符串包含一个或多个点,我想将其拆分并实际上“向下钻取”到作用域中。所以'foo.bar'应该成为$scope.foo.bar。这意味着简单版本不起作用! // This will not work as assigning variables like this will not "drill down" // It will assign to a variables named the exact string, dots and all. var the_string = 'life.meaning'; $scope[the_string] = 42; console.log($scope.life.meaning); // &lt;-- Nope! This is undefined. console.log($scope['life.meaning']); // &lt;-- …
97 angularjs  scope 

2
使用匿名函数作为参数访问外部变量
基本上,我使用此方便的函数来处理数据库行(请注意PDO和/或其他内容) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } 使用此功能,我可以简单地执行以下操作: fetch("SELECT title FROM tbl", function($r){ //&gt; $r['title'] contains the title }); 假设现在我需要将所有内容都串联$r['title']在var中(这只是一个示例)。 我该怎么办?我当时在想这样的事情,但它不是很优雅: $result = ''; fetch("SELECT title FROM tbl", function($r){ global $result; $result .= $r['title']; }); echo $result;
93 php  closures  scope 


5
Python中的块范围
当您使用其他语言编写代码时,有时会创建一个块作用域,如下所示: statement ... statement { statement ... statement } statement ... statement (很多)目的之一是提高代码的可读性:表明某些语句形成一个逻辑单元或某些局部变量仅在该块中使用。 在Python中是否有惯用的方式做同样的事情?
93 python  scope 

6
CDI中的@ApplicationScoped和@Singleton范围有什么区别?
在CDI中有@ApplicationScoped和(javax.inject)@Singleton伪作用域。它们之间有什么区别?除了@ApplicationScoped被代理和@Singleton不被代理的事实。 我可以把@Singleton豆换成@ApplicationScoped吗?@ApplicationScopedbean 可以有两个(或更多)实例吗?
92 java  scope  cdi 

5
使用Python的timeit获取“未定义全局名称'foo'
我试图找出执行一条Python语句所花费的时间,所以我在网上看了一下,发现标准库提供了一个名为timeit的模块,该模块据称可以做到这一点: import timeit def foo(): # ... contains code I want to time ... def dotime(): t = timeit.Timer("foo()") time = t.timeit(1) print "took %fs\n" % (time,) dotime() 但是,这会产生一个错误: Traceback (most recent call last): File "&lt;stdin&gt;", line 1, in &lt;module&gt; File "&lt;stdin&gt;", line 3, in dotime File "/usr/local/lib/python2.6/timeit.py", line 193, …
92 python  scope  timeit 

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.