📅  最后修改于: 2020-11-04 07:42:22             🧑  作者: Mango
变量不过是用于存储值的保留内存位置。这意味着在创建变量时,将在内存中保留一些空间。
解释器根据变量的数据类型分配内存,并确定可以在保留内存中存储的内容。因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符。欣快感数据类型在不同的章节中进行了说明。
这些内存位置称为变量,因为它们的值可以在其生命周期内更改。
欣快变量必须显式声明以保留内存空间。因此,在为变量分配值之前,必须先声明变量。
变量声明具有类型名称,后跟要声明的变量的列表。例如-
integer x, y, z
sequence a, b, x
声明变量时,可以为变量命名,并定义在程序执行过程中可以合法分配给该变量的值的种类。
声明变量的简单动作不会为其分配任何值。如果您在分配任何值之前尝试读取它,那么Euphoria将发出运行时错误,因为“变量xyz从未分配值” 。
等号(=)用于为变量分配值。变量可以通过以下方式分配-
Variable_Name =变量值
例如-
#!/home/euphoria/bin/eui
-- Here is the declaration of the variables.
integer counter
integer miles
sequence name
counter = 100 -- An integer assignment
miles = 1000.0 -- A floating point
name = "John" -- A string ( sequence )
printf(1, "Value of counter %d\n", counter )
printf(1, "Value of miles %f\n", miles )
printf(1, "Value of name %s\n", {name} )
这里的100、1000.0和“ John”分别是分配给counter , Miles和name变量的值。该程序产生以下结果-
Value of counter 100
Value of miles 1000.000000
Value of name John
为了避免忘记初始化变量,并且还因为它可能使代码更易于阅读,可以将声明和赋值组合在一起-
integer n = 5
这等效于以下内容-
integer n
n = 5
标识符的范围描述了哪些代码可以访问它。标识符范围相同的代码可以访问该标识符,而标识符范围不同的代码则不能访问它。
变量的范围取决于在何处以及如何声明。
没有作用域修饰符的常量,枚举,模块变量,过程,函数和类型称为locals 。但是,这些标识符在其声明之前可以具有scope修饰符,这会使它们的范围扩展到声明它们的文件之外。
当您在另一个文件中的幸福感文件,只有使用的标识符作用域修饰符是文件做包括无障碍声明。包含文件中的其他声明对包含include的文件不可见。