数组

在Felix中,数组是第一类值。

类型

数组被赋予由基类型和长度组成的类型。

int^4

是由4个整数组成的数组的类型。注意,那个 4 不是整数而是unitsum类型。

价值

数组由逗号分隔的表达式列表给出:

var a :int^4 = 1,2,3,4;

操作

投影

最基本的操作是应用投影来提取数组的第n个分量。组件从0开始编号。

var a :int^4 = 1,2,3,4;
for i in 0..<4 do
  println$ a.i;
done

此处的投影由 int i、 如果表达式在边界内,则可以使用它。

长度

数组的长度可以用 len 功能。返回的值的类型为 size 可以转换为 int 如图所示:

var x = 1,2,3,4;
var lx = x.len.int;
println$ lx; // 4

价值迭代

for循环可以采用数组参数。控制变量接受数组中从第一个开始的所有值。

var x = 1,2,3,4;
var sum = 0;
for v in x do
  sum = sum + v;
done
println$ sum;