Questions tagged «global-variables»

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

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> 我想做的事可行吗?

4
我可以使用__init__.py定义全局变量吗?
我想定义一个常量,该常量应在包的所有子模块中可用。我以为最好的地方__init__.py在根包的文件中。但是我不知道该怎么做。假设我有几个子包,每个子包都有几个模块。如何从这些模块访问该变量? 当然,如果这是完全错误的,并且有更好的选择,我想知道。

1
动态链接共享库时,全局变量和静态变量会发生什么?
我试图了解将具有全局变量和静态变量的模块动态链接到应用程序时会发生什么。所谓模块,是指解决方案中的每个项目(我在Visual Studio中工作很多!)。这些模块内置于* .lib或* .dll或* .exe本身中。 我了解到,应用程序的二进制文件在数据段中包含所有单个转换单元(目标文件)的全局和静态数据(如果为const,则为只读数据段)。 当该应用程序使用带有加载时动态链接的模块A时会发生什么?我假设DLL有一个用于其全局变量和静态变量的部分。操作系统是否加载它们?如果是这样,它们将装载到哪里? 当应用程序使用带有运行时动态链接的模块B时,会发生什么? 如果我的应用程序中有两个同时使用A和B的模块,是否按如下所述创建A和B的全局变量的副本(如果它们是不同的过程)? DLL A和DLL B是否可以访问应用程序全局变量? (请同时说明您的原因) 从MSDN引用: 在DLL源代码文件中声明为全局的变量被编译器和链接器视为全局变量,但是加载给定DLL的每个进程都会获得该DLL全局变量的自己的副本。静态变量的范围仅限于声明静态变量的块。结果,每个进程默认都有自己的DLL全局和静态变量实例。 从这里: 动态链接模块时,不清楚不同的库是否具有自己的全局实例或是否共享全局实例。 谢谢。

6
在Node.js中的文件之间共享变量?
这是2个文件: // main.js require('./modules'); console.log(name); // prints "foobar" // module.js name = "foobar"; 当我没有“ var”时,它可以工作。但是当我有: // module.js var name = "foobar"; 名称将在main.js中未定义。 我听说全局变量不好,您最好在引用之前使用“ var”。但这是全局变量很好的情况吗?

3
如何创建全局变量?
我有一个全局变量,需要在我的ViewController之间共享。 在Objective-C中,我可以定义静态变量,但是找不到在Swift中定义全局变量的方法。 您知道这样做的方法吗?

4
为什么全局变量是邪恶的?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6个月前关闭。 改善这个问题 我试图找出为什么global在Python(以及一般编程)中将使用视为不好的做法。有人可以解释吗?具有更多信息的链接也将不胜感激。

1
匿名函数中的PHP变量
我在玩PHP中的匿名函数,并意识到它们似乎没有到达它们之外的变量。有什么办法可以解决这个问题? 例: $variable = "nothing"; functionName($someArgument, function() { $variable = "something"; }); echo $variable; //output: "nothing" 这将输出“无”。匿名函数有什么方法可以访问$variable?

8
如何在bash中的函数内修改全局变量?
我正在与此: GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) 我有一个如下的脚本: #!/bin/bash e=2 function test1() { e=4 echo "hello" } test1 echo "$e" 哪个返回: hello 4 但是,如果我将函数的结果分配给变量,e则不会修改全局变量: #!/bin/bash e=2 function test1() { e=4 echo "hello" } ret=$(test1) echo "$ret" echo "$e" 返回值: hello 2 我听说过在这种情况下使用eval,所以我在test1: eval 'e=4' 但是结果一样。 您能解释一下为什么未修改吗?如何保存test1函数的回显ret并修改全局变量?

5
是否可以在Rust中使用全局变量?
我知道总体上应该避免全局变量。尽管如此,我认为从实际意义上讲,有时(在变量是程序不可或缺的情况下)使用它们是可取的。 为了学习Rust,我目前正在GitHub上使用sqlite3和Rust / sqlite3包编写一个数据库测试程序。因此,这(在我的测试程序中)有必要(作为全局变量的替代方法)在大约十二个函数之间传递数据库变量。下面是一个示例。 在Rust中使用全局变量是否可行,可行和可取? 给定以下示例,我可以声明和使用全局变量吗? extern crate sqlite; fn main() { let db: sqlite::Connection = open_database(); if !insert_data(&db, insert_max) { return; } } 我尝试了以下操作,但似乎不太正确,并导致了以下错误(我也尝试了一个unsafe块): extern crate sqlite; static mut DB: Option<sqlite::Connection> = None; fn main() { DB = sqlite::open("test.db").expect("Error opening test.db"); println!("Database Opened OK"); create_table(); println!("Completed"); } // Create …

8
在config.py中提供全局配置变量的最Pythonic方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3个月前关闭。 改善这个问题 在我对过度复杂的简单事物的无尽追求中,我正在研究最“ Pythonic”的方法来在Python egg包中的典型“ config.py ”中提供全局配置变量。 传统方式(啊,好吧,# define!)如下: MYSQL_PORT = 3306 MYSQL_DATABASE = 'mydb' MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups'] 因此,以下列方式之一导入全局变量: from config import * dbname = MYSQL_DATABASE for table in MYSQL_DATABASE_TABLES: print table 要么: import config dbname = config.MYSQL_DATABASE assert(isinstance(config.MYSQL_PORT, int)) 这是有道理的,但有时可能会有些混乱,尤其是在您要记住某些变量的名称时。此外,提供一个以变量为属性的“配置”对象可能更灵活。因此,从bpython config.py文件开始,我想到了: class Struct(object): def __init__(self, *args): …

5
如何在.js文件中声明全局变量
我需要所有.js文件中都需要的一些全局变量。 例如,考虑以下4个文件: global.js js1.js js2.js js3.js 考虑到我将上述所有4个文件都加载到HTML文档中,有没有一种方法可以在其中声明3个全局变量global.js并在其他3个.js文件中的任何一个中访问它们? 有人可以告诉我这是否可行吗?或者可以解决这个问题吗?


5
在线程中使用全局变量
如何与线程共享全局变量? 我的Python代码示例是: from threading import Thread import time a = 0 #global variable def thread1(threadname): #read variable "a" modify by thread 2 def thread2(threadname): while 1: a += 1 time.sleep(1) thread1 = Thread( target=thread1, args=("Thread-1", ) ) thread2 = Thread( target=thread2, args=("Thread-2", ) ) thread1.join() thread2.join() 我不知道如何让两个线程共享一个变量。

11
如何避免JavaScript中的全局变量?
我们都知道,全局变量只是最佳实践。但是在有些情况下,没有它们很难编写代码。您使用什么技术来避免使用全局变量? 例如,在以下情况下,您将如何不使用全局变量? JavaScript代码: var uploadCount = 0; window.onload = function() { var frm = document.forms[0]; frm.target = "postMe"; frm.onsubmit = function() { startUpload(); return false; } } function startUpload() { var fil = document.getElementById("FileUpload" + uploadCount); if (!fil || fil.value.length == 0) { alert("Finished!"); document.forms[0].reset(); return; } disableAllFileInputs(); fil.disabled = …

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.