Questions tagged «scope»

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

1
cmake变量范围,add_subdirectory
我在项目根目录中有一个CMakeLists.txt,在/ src文件夹中有一个。/ src文件夹中的一个仅包含具有.cpp文件(set (SOURCEFILES main.cpp foo.cpp))的变量,并且在我做的根目录CMakeLists.txt中包含add_subdirectory(src),以后再执行add_executable(MyApp ${SOURCEFILES})。 但是cmake给我错误 使用错误的参数数量调用了add_executable,未提供任何源 我如何获得cmake来查看变量?我读到cmake只知道全局变量,但事实并非如此……
76 scope  cmake 

6
javascript中的全局变量和window.variable有什么区别?
我正在阅读ribs.js文档,并看到了许多将属性分配给window对象的代码: window.something = "whatever"; 调用此代码与仅分配变量并创建全局变量之间有什么区别,如下所示: something = "whatever"; 我假设存在某种范围上的差异,和/或对象所有权上的差异(窗口是所有者而不是所有者),但是我对两者之间的详细信息以及为什么我要使用窗口而不是窗口不感兴趣。

9
在PHP中的对象上使用json_encode(无论范围如何)
我正在尝试将对象列表输出为json,并想知道是否有一种使对象可用的方法json_encode?我得到的代码看起来像 $related = $user->getRelatedUsers(); echo json_encode($related); 现在,我只是遍历用户数组,并将它们分别导出到数组中,json_encode以便对我来说变成可用的json。我已经尝试过使对象可迭代,但是json_encode无论如何似乎都跳过它们。 编辑:这是var_dump(); php > var_dump($a); object(RedBean_OODBBean)#14 (2) { ["properties":"RedBean_OODBBean":private]=> array(11) { ["id"]=> string(5) "17972" ["pk_UniversalID"]=> string(5) "18830" ["UniversalIdentity"]=> string(1) "1" ["UniversalUserName"]=> string(9) "showforce" ["UniversalPassword"]=> string(32) "" ["UniversalDomain"]=> string(1) "0" ["UniversalCrunchBase"]=> string(1) "0" ["isApproved"]=> string(1) "0" ["accountHash"]=> string(32) "" ["CurrentEvent"]=> string(4) "1204" ["userType"]=> string(7) "company" …
75 php  json  scope  redbean 

8
在jQuery事件中控制“ this”的值
我使用jQuery创建了一个“控件”,并使用jQuery.extend来帮助使其尽可能地面向对象。 在控件初始化期间,我连接了各种单击事件,如下所示 jQuery('#available input', this.controlDiv).bind('click', this, this.availableCategoryClick); 注意,我正在将“ this”作为bind方法中的数据参数。我这样做是为了获得附加到控件实例的数据,而不是从激发click事件的元素中获取数据。 这很好用,但是我怀疑有更好的方法 过去曾经使用过Prototype,但我记得绑定语法使您可以控制事件中'this'的值。 jQuery的方式是什么?
74 jquery  scope  this 

2
从AngularJS中的过滤器访问范围变量
我通过date这种方式将值传递给自定义过滤器: angular.module('myapp'). filter('filterReceiptsForDate', function () { return function (input, date) { var out = _.filter(input, function (item) { return moment(item.value.created).format('YYYY-MM-DD') == date; }); return out; } }); 我也想在其中注入几个范围变量,就像我在指令中可以做的那样。不必将这些var作为函数参数显式传递就可以做到这一点吗?

2
在函数内创建类并访问包含函数范围内定义的函数
编辑: 请参阅此问题底部的我的完整答案。 tl; dr答:Python具有静态嵌套的作用域。的静态 方面可以与隐变量声明相互作用,产生非显而易见的结果。 (由于该语言通常具有动态特性,所以这尤其令人惊讶)。 我以为我对Python的作用域规则掌握得很好,但是这个问题使我彻底陷入困境,而我的google-fu让我失败了(这并不令我感到惊讶-查看问题标题;) 我将从一些可以按预期工作的示例开始,但是请多跳到示例4。 范例1。 >>> x = 3 >>> class MyClass(object): ... x = x ... >>> MyClass.x 3 很简单:在类定义期间,我们能够访问外部(在本例中为全局)范围内定义的变量。 示例2 >>> def mymethod(self): ... return self.x ... >>> x = 3 >>> class MyClass(object): ... x = x ... mymethod = mymethod ... >>> …

5
为什么在Python中无法分配全局变量?
我在尝试理解python作用域规则时遇到了麻烦。 使用以下脚本: a = 7 def printA(): print "Value of a is %d" % (a) def setA(value): a = value print "Inside setA, a is now %d" %(a) print "Before setA" printA() setA(42) print "After setA" printA() 给我意外的输出: 在setA之前 a的值为7 在setA内,a现在为42 setA之后 a的值为7 我期望a值的最后打印结果是42,而不是7。在Python中,对全局变量进行作用域定义的范围规则使我遗漏了什么?


12
如何从angular.js数组中删除元素/节点
我试图从数组中删除元素,$scope.items以便在视图中删除项目ng-repeat="item in items" 仅出于说明目的,下面是一些代码: for(i=0;i<$scope.items.length;i++){ if($scope.items[i].name == 'ted'){ $scope.items.shift(); } } 如果名称正确,我想从视图中删除第一个元素吗?它工作正常,但是视图会重新加载所有元素。因为所有阵列键都已移动。这在我正在创建的移动应用程序中造成了不必要的延迟。 有人对此问题有解决方案吗?

4
为什么块作用域最初不是在JavaScript中实现的?
我已经阅读并通过我自己的经验发现,JavaScript没有块作用域。假设这种语言是出于某种原因而设计的,您能向我解释那是什么原因吗? 我已经在Google和此处四处查看,但是我发现的帖子只是重申JS具有函数作用域而不是块作用域,而没有解释原因。我很好奇为什么会这样。
71 javascript  scope 

3
派生对基类成员数据的模板类访问
这个问题是一个在问的赞助这个线程。 使用以下类定义: template <class T> class Foo { public: Foo (const foo_arg_t foo_arg) : _foo_arg(foo_arg) { /* do something for foo */ } T Foo_T; // either a TypeA or a TypeB - TBD foo_arg_t _foo_arg; }; template <class T> class Bar : public Foo<T> { public: Bar (const foo_arg_t …

1
Dim,Global,Public和Private作为模块化现场访问修饰符有什么区别?
在VB6 / VBA中,可以在特定方法Sub或Function方法之外声明模块级变量。我已经在模块中使用过Private并且Public之前了解过它们,如下所示: Public -对模块内部的所有代码和模块外部的所有代码可见,从而使它成为全局代码。 Private -仅对模块内部的代码可见。 我注意到您可以使用Dim和Global作为模块化变量的修饰符。是Dim与Global从不同Private,并Public分别作为模块化领域访问修饰符使用时?如果是这样,它们有何不同?

3
C ++中的静态变量
我想知道头文件中的静态变量与类中声明的静态变量之间有什么区别。在头文件中声明静态变量时,其范围仅限于.h文件或跨所有单元。同样,通常在类中声明时,静态变量会在.cpp文件中初始化吗?那是否意味着静态变量范围限制为2个编译单元?
69 c++  static  scope 

6
VB.Net属性-公共获取,私有集
我想我会问...但是有没有办法让属性的Get部分可以公开使用,而又可以将其设为私有? 否则,我想我需要两个属性或一个属性和一个方法,只是认为这样做会更清洁。

4
PowerShell中的变量作用域
关于PowerShell的一件不幸的事是函数和脚本块是动态范围的。 但是让我惊讶的是,变量在内部作用域内表现为写时复制。 $array=@("g") function foo() { $array += "h" Write-Host $array } & { $array +="s" Write-Host $array } foo Write-Host $array 输出为: g s g h g 这使得动态范围界定的痛苦减轻了一些。但是,如何避免写时复制?
68 powershell  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.