Euphoria - 数据类型

内存中存储的数据可以有多种类型。 例如,一个人的年龄以数值形式存储,他的地址以字符字母数字形式存储。

Euphoria 有一些标准类型,用于定义对它们可能进行的操作以及每个类型的存储方法。

Euphoria 有以下四种标准数据类型 −

  • 整数
  • 原子
  • 序列
  • 对象

理解原子和序列是理解 Euphoria 的关键。

整数

Euphoria 整数数据类型存储数值。 它们的声明和定义如下 −

integer var1, var2

var1 = 1
var2 = 100

使用整数类型声明的变量必须是整数值从-1073741824到+1073741823(含)之间的原子。 您可以对较大的整数值(最多大约 15 位十进制数字)执行精确计算,但将它们声明为原子,而不是整数。

原子

Euphoria 中的所有数据对象都是原子或序列。 原子是单个数值。 原子可以具有任何整数或双精度浮点值。 Euphoria 原子声明和定义如下 −

atom var1, var2, var3

var1 = 1000
var2 = 198.6121324234
var3 = 'E'       

原子的范围约为 -1e300 到 +1e300,精确到 15 位小数。 单个字符是一个原子,必须使用单引号输入。 例如,以下所有语句都是合法的 −

-- Following is equivalent to the atom 66 - the ASCII code for B
char = 'B'

-- Following is equivalent to the sequence {66}
sentence = "B"

序列

序列是可以通过索引访问的数值集合。 Euphoria 中的所有数据对象都是原子或序列。

序列索引从 1 开始,与其他编程语言的数组索引从 0 开始不同。Euphoria 序列声明和定义如下 −

sequence var1, var2, var3, var4

var1 = {2, 3, 5, 7, 11, 13, 17, 19}
var2 = {1, 2, {3, 3, 3}, 4, {5, {6}}}
var3 = {{"zara", "ali"}, 52389, 97.25}     
var4 = {} -- the 0 element sequence

字符串只是可以使用双引号输入的字符序列。 例如,以下所有语句都是合法的 −

word = 'word'
sentence = "ABCDEFG"

字符串可以像任何其他序列一样被操纵和操作。 例如,上面的字符串完全等价于序列 −

sentence = {65, 66, 67, 68, 69, 70, 71}

您将在此了解有关 Euphoria − 序列 更多信息。

对象

这是 Euphoria 中的超级数据类型,可以采用任何值,包括原子、序列或整数。 Euphoria 对象声明和定义如下 −

object var1, var2, var3

var1 = {2, 3, 5, 7, 11, 13, 17, 19}
var2 = 100
var3 = 'E'     

对象可能具有以下值之一 −

  • 一个序列

  • 原子

  • 整数

  • 用作文件编号的整数

  • 字符串序列或单字符原子