Questions tagged «global-variables»

全局变量是可以从软件组件的所有元素访问的变量。

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

13
PHP传递变量以包括
我正在尝试将变量传递到包含文件中。我的主机更改了PHP版本,现在无论我尝试哪种解决方案都无法正常工作。 我想我已经尝试了所有可能找到的选项。我敢肯定这是最简单的事情! 需要从调用的第一个文件中设置和评估该变量(实际上是$_SERVER['PHP_SELF'],并且需要返回该文件的路径,而不是包含的路径second.php)。 选项一 在第一个文件中: global $variable; $variable = "apple"; include('second.php'); 在第二个文件中: echo $variable; 选项二 在第一个文件中: function passvariable(){ $variable = "apple"; return $variable; } passvariable(); 选项三 $variable = "apple"; include "myfile.php?var=$variable"; // and I tried with http: and full site address too. $variable = $_GET["var"] echo $variable 这些都不适合我。PHP版本是5.2.16。 我想念什么? 谢谢!

6
如何在jQuery中存储全局值(不一定是全局变量)?
目前,我正在使用一个大量的JavaScript,jQuery,Microsoft客户端JavaScript和其他库的旧网页。最重要的是-我无法从头开始重写整个页面,因为企业无法证明其合理性。所以...就是这样。无论如何,我需要使用变量来污染(我确实没有尝试过)全局名称空间。我在考虑三个选项- 只需使用普通的JavaScript声明存储/检索它- var x = 0; 使用jQuery在DOM标签中存储/获取值- $("body").data("x", 0); 使用隐藏的表单字段,并使用jQuery设置/获取值- $("whatever").data("x", 0); 有没有更好的办法?我查看了现有的一堆代码,但我不相信变量可以在函数中确定范围。

3
如何告诉JSLint / JSHint已经定义了什么全局变量
在我的项目中,我们有一些用作容器的全局变量: MyProject.MyFreature.someFunction = function() { ... } 因此,然后我在整个网站上使用该脚本,JSLint / JSHint对此表示抱怨: 未定义“ MyProject” 我知道我可以转到每个JavaScript文件并在其/*global MyProject*/顶部添加注释。但是我正在寻找一种在某种配置文件中定义该注释的方法,因此我不必逐个文件添加该注释。 中的某种选择config/jshint.yml会很好。


5
编译器错误:“初始化器元素不是编译时常量”
编译此代码时,出现错误“初始化元素不是编译时常量”。谁能解释为什么? #import "PreferencesController.h" @implementation PreferencesController - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } NSImage* imageSegment = [[NSImage alloc] initWithContentsOfFile:@"/User/asd.jpg"];//error here

5
Dart中的全局变量
我尝试创建Dart单页应用程序。 我创建了第一个自定义元素(custom-application),其中包含整个应用程序。它具有一个用于呈现视图的容器。侧面导航将包含用户信息,并在用户登录时进行更新。 我想在视图之间共享信息。如何在中定义全局变量custom-application并能够与其他视图共享? 例如,当您启动应用程序时,您未通过身份验证。致电/ login(login-view)时,您将获得一个登录表单。我想在登录应用程序时,该custom-application元素存储由嵌套视图加载的用户信息login-view并更新侧面导航。 有可能做到吗?

8
Java中的默认值和初始化
根据我的参考,原始类型具有默认值,而Objects为null。我测试了一段代码。 public class Main { public static void main(String[] args) { int a; System.out.println(a); } } 该行将System.out.println(a);指向一个变量a,指出该错误,variable a might not have been initialized而在给定的引用中,integer将具有0默认值。但是,使用下面的给定代码,它将实际打印出来0。 public class Main { static int a; public static void main(String[] args) { System.out.println(a); } } 第一个代码可能会出什么问题?类实例变量的行为与局部变量不同吗?


3
如果“实用程序”类是邪恶的,我应将通用代码放在哪里?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过事实和引用回答编辑此帖子。 2年前关闭。 改善这个问题 我通常遵循的规则是,全局变量/函数是邪恶的,并且每段代码都应该存在于它所属的类中。 这是一个非常容易遵循的规则,我相信到目前为止,我从未遇到过与此规则相关的问题。 但是,今天,我需要将一个函数添加到我的程序集中,而不是添加到特定的类。也就是说,几乎所有的类都可以用于此特定功能。 我应该在哪里放置此函数(+1重载)? 如果将其放在“实用程序”类中,我会感到很脏。如果我把它放在半相关的类上,而让其他类直接调用它,我会感到更糟。 这段特定的代码基本上IList<PointF>将a砍成一个规范化的列表。我现在觉得将其作为扩展方法添加IList<PointF>可能是最好的选择...

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中,对全局变量进行作用域定义的范围规则使我遗漏了什么?

9
我听说全局变量不正确,应该使用哪种替代解决方案?
我到处都读到了全局变量不好的地方,应该使用替代方法。特别是在Javascript中,我应该选择哪种解决方案。 我想一个函数,当喂两个参数(function globalVariables(Variable,Value))看起来,如果在本地数组存在变量,如果它的值设置为Value,否则,Variable和Value附加。如果在不带参数(function globalVariables())的情况下调用该函数,它将返回数组。也许如果仅使用一个参数(function globalVariables(Variable))触发函数,则它将返回Variable数组中的值。 你怎么看?我想听听您使用全局变量的替代解决方案和参数。 您将如何使用 globalVariables(); function append(){ globalVariables("variable1","value1"); //globalVariables() would append variable1 to it's local array. }; function retrieve(){ var localVariable1 = globalVariables("variable1"); //globalVariables() would return "value1". }; function retrieveAll(){ var localVariable1 = globalVariables(); //globalVariables() would return the globalVariable()'s entire, local [persistently stored between calls] array. }; …

10
从其他函数访问变量而不使用全局变量
我从很多地方都听说过,全局变量本来就是讨厌和邪恶的,但是当使用一些非面向对象的Javascript时,我看不到如何避免它们。假设我有一个函数,该函数使用复杂的算法使用随机数和填充物来生成数字,但是我需要在其他函数中继续使用该特定数,该函数是回调函数或其他东西,因此不能成为同一函数的一部分。 如果最初生成的数字是局部变量,则无法从那里访问它。如果函数是对象方法,我可以将数字设为属性,但是它们不是属性,并且更改整个程序结构来执行此操作似乎有些复杂。全局变量真的那么糟糕吗?


4
您如何在Ruby中使用全局变量或常量值?
我有一个程序,看起来像: $offset = Point.new(100, 200); def draw(point) pointNew = $offset + point; drawAbsolute(point) end draw(Point.new(3, 4)); 使用$offset似乎有点怪异。 在C语言中,如果我在任何函数之外定义某些内容,那么它将自动成为全局变量。为什么在Ruby中必须是,$offset但不能是offset,现在仍然是全球性的?如果是offset,那么它是本地的?但仅限于本地,因为它感觉非常全球化。 有没有更好的方法编写上面的代码?$offset起初使用似乎有点难看。 更新:我可以将此偏移量放入class定义中,但是如果两个或几个类需要使用此常量怎么办?在这种情况下,我还需要定义一个$offset吗?

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.