跳转到内容

Rexx 编程/Rexx 指南/数据类型

来自维基教科书,开放的书籍,面向开放的世界

原则上,Rexx 只有一种数据类型:字符串。字符串代表存储在计算机内存中的字母、数字、空格、标点符号和其他类型的文本。在实践中,Rexx 识别几种不同的字符串形式,并可以在不同的方式使用它们。因此,我们可以说在整个字符串类型中存在不同的数据类型。

字符串

[编辑 | 编辑源代码]

字符串是文本字符的序列。它们可以存储在变量中,在程序中生成,或者使用单引号或双引号直接写入代码中。未初始化的变量被解释为其自身名称的大写版本。

say hello     /* unitialized variable - says HELLO */
say 'WORLD'   /* single quote string - says WORLD */
say "123"     /* double quote string - says 123 */
hello = '---' /* initialized variable - now contains 3 dashes */
say hello     /* outputs the 3 dashes */
hello = ""    /* the empty string - yes, that's a thing */

数字是一种特殊的字符串。它们是只包含人们用来表示数字的符号的字符串,例如数字、负号或小数点。即使您不使用引号,Rexx 也能识别数字字符串。

/* We can store number strings in variables do math. */
ten = "10"
two = '2'
say ten + two
/* We can write numbers without quotation marks. */
pi = 3.141592654
neg1 = -1
/* We can even use E for scientific notation. */
TwoMillion = 2.0e6

测试数据类型

[编辑 | 编辑源代码]

您可以使用 DATATYPE 函数来测试一个值是否仅仅是一个字符字符串,或者专门是一个数字字符串。它将返回 CHAR 或 NUM,取决于具体情况。

say DataType("Hello, world!")   /* CHAR */
say DataType('1.14193E2')       /* NUM  */
say DataType("35 meters")       /* CHAR */
say DataType(-42)               /* NUM  */

您也可以使用一个长度为一个字母的第二个字符串来调用该函数,以检查更具体的字符串类型。

  • A = 字母数字:只包含字母和数字
  • B = 二进制:只包含零和一
  • L = 仅小写字母
  • M = 仅字母(混合大小写)
  • N = 数字
  • U = 仅大写字母
  • W = 整数
  • X = 十六进制:数字和字母 A-F

如果第一个字符串实际上与该类型匹配,则 DATATYPE 函数将返回 1;如果它不匹配,则返回 0。

bits = 101011
say DataType(bits, 'A') /* 1 */
say DataType(bits, 'B') /* 1 */
say DataType(bits, 'L') /* 0 */
say DataType(bits, 'M') /* 0 */
say DataType(bits, 'N') /* 1 */
say DataType(bits, 'U') /* 0 */
say DataType(bits, 'W') /* 1 */
say DataType(bits, 'X') /* 1 */
华夏公益教科书