Questions tagged «scope»

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

3
我应该如何在Perl中使用“我的”关键字?
在示例Perl脚本在线中,我始终在变量名之前看到“ my”关键字,但我不知道它是什么意思。我尝试在线阅读手册页和其他网站,但是由于我的使用方式和手册之间存在差异,因此我很难分辨它的用途。 例如,在本文中,它用于获取数组的长度: 在Perl中查找数组的大小 但是手册说: my声明列出的变量在包围的块,文件或eval中是局部的(按词法)。如果列出了多个值,则该列表必须放在括号中。 它有什么作用,如何使用?

18
Javascript函数作用域和提升
我刚刚读了本·切里(Ben Cherry)撰写的有关JavaScript作用域和提升的精彩文章,他提供了以下示例: var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); 使用上面的代码,浏览器将警告“ 1”。 我仍然不确定为什么它返回“ 1”。他说的一些事情让人想到:所有函数声明都被提升到顶部。您可以使用函数作用域变量。仍然没有点击我。

3
AngularJS,路由之间传递范围
我遇到的情况是表单跨越了几页(可能并不理想,但这就是事实)。我想为整个表单提供一个范围,以便您随身携带,以便用户在步骤之间来回移动时,很容易记住状态。 所以我需要用非常伪的代码来做: 组 $scope.val = <Some dynamic data> 单击一个链接,然后将其路由到新模板(可能使用同一控制器)。 $scope.val 值应仍与上一页相同。 是否以某种方式持久保存示波器的数据是解决此问题的正确方法,还是还有其他方法?您是否甚至可以创建一个在路由之间具有持久作用域的控制器,当然除了将其保存在数据库中。

6
惊讶全局变量在JavaScript中具有未定义的值
今天,当我看到全局变量undefined在某些情况下具有价值时,我感到非常惊讶。 例: var value = 10; function test() { //A console.log(value); var value = 20; //B console.log(value); } test(); 输出为 undefined 20 在这里,为什么JavaScript引擎将全局值视为undefined。我知道JavaScript是一种解释语言。如何考虑函数中的变量? 这是JavaScript引擎的陷阱吗?
87 javascript  scope 

3
ECMAScript 2015:for循环中的const
以下两个(或都不/两个)代码片段中的哪个应在完整的ECMAScript 2015实现中工作: for (const e of a) for (const i = 0; i < a.length; i += 1) 据我了解,第一个示例应该有效,因为它e是为每次迭代初始化的。i在第二个版本中也不应该这样吗? 我很困惑,因为现有的实现(Babel,IE,Firefox,Chrome,ESLint)似乎不一致,并且具有的完整实现,并且具有const两个循环变体的各种行为。我也无法在标准中找到具体点,因此将不胜感激。

6
C中的共享全局变量
如何创建在C中共享的全局变量?如果我将其放在头文件中,则链接器会抱怨变量已定义。是在我的一个C文件中声明变量并手动在extern所有要使用它的其他C文件的顶部放入s的唯一方法吗?听起来不理想。

8
在PHP函数中访问全局变量
根据大多数编程语言的作用域规则,我可以访问在函数内部定义的变量,但是为什么此代码不起作用? <?php $data = 'My data'; function menugen() { echo "[" . $data . "]"; } menugen(); ?> 输出为[]。
82 php  scope 

5
Angular UI模式的范围问题
我在理解/使用角度UI模式的范围时遇到麻烦。 虽然这里没有立即显示出来,但我已经正确地设置了模块和所有内容(据我所知),但是这些代码示例尤其是在我发现错误的地方。 index.html(重要部分) <div class="btn-group"> <button class="btn dropdown-toggle btn-mini" data-toggle="dropdown"> Actions <span class="caret"></span> </button> <ul class="dropdown-menu pull-right text-left"> <li><a ng-click="addSimpleGroup()">Add Simple</a></li> <li><a ng-click="open()">Add Custom</a></li> <li class="divider"></li> <li><a ng-click="doBulkDelete()">Remove Selected</a></li> </ul> </div> Controller.js(同样是重要部分) MyApp.controller('AppListCtrl', function($scope, $modal){ $scope.name = 'New Name'; $scope.groupType = 'New Type'; $scope.open = function(){ var modalInstance = $modal.open({ …

1
具有相关范围的嵌套模板
在以下错误的上下文中,从属范围是什么,类型名的含义是什么? $ make g++ -std=gnu++0x main.cpp main.cpp:18:10: error: need 'typename' before 'ptrModel<std::vector<Data> >::Type' because 'ptrModel<std::vector<Data> >' is a dependent scope make: *** [all] Error 1 /* * main.cpp */ #include <vector> #include <memory> template<typename T> struct ptrModel { typedef std::unique_ptr<T> Type; }; template<typename Data> struct ptrType { typedef ptrModel< std::vector<Data> …
80 c++  templates  scope  nested 

11
Java中的花括号本身是什么意思?
我有一些以两种方式使用花括号的Java代码 // Curly braces attached to an 'if' statement: if(node.getId() != null) { node.getId().apply(this); } // Curly braces by themselves: { List<PExp> copy = new ArrayList<PExp>(node.getArgs()); for(PExp e : copy) { e.apply(this); } } outAMethodExp(node); 在第一个if语句之后,这些独立的花括号是什么意思?

1
从装饰器访问自我
在unittest的setUp()方法中,我设置了一些自变量,稍后将在实际测试中引用它们。我还创建了一个装饰器来进行一些日志记录。有没有一种方法可以从装饰器访问这些自变量? 为了简单起见,我将发布此代码: def decorator(func): def _decorator(*args, **kwargs): # access a from TestSample func(*args, **kwargs) return _decorator class TestSample(unittest.TestCase): def setUp(self): self.a = 10 def tearDown(self): # tear down code @decorator def test_a(self): # testing code goes here 什么是访问的最好办法一个从装饰(()在设置中设定)?

6
在Python 2中,如何在父范围中写入变量?
我在函数内有以下代码: stored_blocks = {} def replace_blocks(m): block = m.group(0) block_hash = sha1(block) stored_blocks[block_hash] = block return '{{{%s}}}' % block_hash num_converted = 0 def convert_variables(m): name = m.group(1) num_converted += 1 return '<%%= %s %%>' % name fixed = MATCH_DECLARE_NEW.sub('', template) fixed = MATCH_PYTHON_BLOCK.sub(replace_blocks, fixed) fixed = MATCH_FORMAT.sub(convert_variables, fixed) 添加元素可以stored_blocks正常工作,但是我不能num_converted在第二个子功能中增加: UnboundLocalError:分配前已引用局部变量“ …

6
使我的函数可以访问外部变量
我外面有一个数组: $myArr = array(); 我想让我的函数可以访问其外部的数组,以便可以向其添加值 function someFuntion(){ $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; } 如何为函数赋予正确的作用域范围?
76 php  function  scope 

3
将变量从一个PHP包含文件传递到另一个:全局与非
我正在尝试将变量从一个包含文件传递到另一个。除非我在第二个包含文件中将变量声明为全局变量,否则此方法不起作用。但是,我不需要在调用第一个include的文件中将其声明为全局文件。例如: front.inc: $name = 'james'; index.php: include('front.inc'); echo $name; include('end.inc'); 输出:詹姆斯 end.inc: echo $name; 输出:无 如果我在end.inc中回显$ name之前声明了全局$ name,那么它将正常工作。该帖子的可接受答案说明这取决于您的服务器配置:将PHP中的变量从一个文件传递到另一个文件 我正在使用Apache服务器。我将如何配置它,以便不必声明$ name为全局名称?一个相对于另一个有优点/缺点吗?

4
C#中的私有内部类-为什么它们不经常使用?
我是C#的新手,每次我开始从事C#项目时(我只从事C#中几乎成熟的项目),我想知道为什么没有内部类吗? 也许我不明白他们的目标。对我而言,内部类(至少是私有内部类)在很大程度上类似于Pascal / Modula-2 / Ada中的“内部过程”:为了简化理解,它们允许将主类分解为较小的部分。 示例:这是大多数时候看到的内容: public class ClassA { public MethodA() { <some code> myObjectClassB.DoSomething(); // ClassB is only used by ClassA <some code> } } public class ClassB { public DoSomething() { } } 由于ClassB仅(至少一段时间)将由ClassA使用,因此我的猜测是此代码可以更好地表示为: public class ClassA { public MethodA() { <some code> myObjectClassB.DoSomething(); // Class …

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.