- Euphoria 教程
- Euphoria - 首页
- Euphoria - 概览
- Euphoria - 环境
- Euphoria - 基本语法
- Euphoria - 变量
- Euphoria - 常量
- Euphoria - 数据类型
- Euphoria - 运算符
- Euphoria - 分支
- Euphoria - 循环类型
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期和时间
- Euphoria - 过程
- Euphoria - 函数
- Euphoria - 文件输入/输出
- Euphoria 有用资源
- Euphoria - 快速指南
- Euphoria - 库例程
- Euphoria - 有用资源
- Euphoria - 讨论
Euphoria - 常量
常量也是在程序生命期内永远不能更改的初始值分配的变量。Euphoria 允许使用常量关键字来定义常量,如下所示 -
constant MAX = 100
constant Upper = MAX - 10, Lower = 5
constant name_list = {"Fred", "George", "Larry"}
任何表达式的结果都可以分配给常量,甚至一个涉及对先前定义的函数的调用的表达式,但一旦完成分配,常量变量的值就被“锁定”。
不能在分程式的内部声明常量。无作用域的修饰符的常量的作用域从声明开始,并结束在文件中声明其的末尾。
示例
#!/home/euphoria-4.0b2/bin/eui constant MAX = 100 constant Upper = MAX - 10, Lower = 5 printf(1, "Value of MAX %d\n", MAX ) printf(1, "Value of Upper %d\n", Upper ) printf(1, "Value of Lower %d\n", Lower ) MAX = MAX + 1 printf(1, "Value of MAX %d\n", MAX )
这将产生以下错误 -
./test.ex:10 <0110>:: may not change the value of a constant MAX = MAX + 1 ^ Press Enter
如果你从该示例删除最后两行,那么它将产生以下结果 -
Value of MAX 100 Value of Upper 90 Value of Lower 5
枚举
枚举值是一种特殊类型的常量,其中第一个值默认为数字 1,并且之后的每个项目会递增 1。枚举只能采用数字值。
不能在分程式的内部声明枚举。无作用域修饰符的枚举的作用域从声明开始,并结束在文件中声明其的末尾。
示例
#!/home/euphoria-4.0b2/bin/eui enum ONE, TWO, THREE, FOUR printf(1, "Value of ONE %d\n", ONE ) printf(1, "Value of TWO %d\n", TWO ) printf(1, "Value of THREE %d\n", THREE ) printf(1, "Value of FOUR %d\n", FOUR )
这将产生以下结果 -
Value of ONE 1 Value of TWO 2 Value of THREE 3 Value of FOUR 4
您可以通过为其分配一个数值来更改任何一个项目的值。后续值总是前面的值加一,除非它们也分配了一个默认值。
#!/home/euphoria-4.0b2/bin/eui enum ONE, TWO, THREE, ABC=10, XYZ printf(1, "Value of ONE %d\n", ONE ) printf(1, "Value of TWO %d\n", TWO ) printf(1, "Value of THREE %d\n", THREE ) printf(1, "Value of ABC %d\n", ABC ) printf(1, "Value of XYZ %d\n", XYZ )
这将产生以下结果 -
Value of ONE 1 Value of TWO 2 Value of THREE 3 Value of ABC 10 Value of XYZ 11
序列使用整型索引,但使用枚举您可以编写这样的代码 -
enum X, Y
sequence point = { 0,0 }
point[X] = 3
point[Y] = 4
广告