中语言超酷特性 之 --- 数组

来源:互联网 发布:哪里的mac pro最便宜 编辑:程序博客网 时间:2024/05/19 12:17

    

中语言计算技术研究与发展联盟

舒生羽  wzyorg@gmail.com

 

     中语言的数组在语义上完全继承C/C++内对数组的定义,并且自然的获得了GCC对于数组的扩充特性,比如在涉入数组时可进行边界检查的选项,以及各种灵活的初始式。

然而中语言在数组定义的形式上有着根本区别,并由此带来观念上的根本变化。对于C/C++里面的

int a[10];

中语言里面等价表述是:

                  A: <10, >-;

虽然初看这似乎带来很大的复杂性,但是实际应用起来并没那么糟糕,反而在阅读上对于汉语使用者来说非常的流利和顺口(至少我是这么认为的,不知你是否同感),而且在维数上可以扩张,比如“<10, 10,>-阵”表示的是二维的10*10的矩阵.这里想提示一下读者“<>-”这种记号在中语言里面被普遍应用,用于来表达类似我们在中学学到的形容词等东西,而在程序语义上类似于C++里面的模板(template)。我们将在后续的介绍里面深入讲述这种表示,那时你将见证到汉语在程序设计内的强大表达能力。

中语言的过策反复将给数组这种数据类型的处理提供了很大方便。

下面的例子程序所完成的计算是计算一个3*3矩阵的平方。

 朴库.标准进出;打印矩阵: (数阵: <3, 3, >-)->()={    打印文套("[3*3]矩阵\n");    (横@[0 : 2])    {        (竖@[0 : 2])            打印文套("%d  ", 数阵[横][竖]);        打印字('\n');    }}道: ()->()={    九宫阵: <3, 3, >-= {{2, 9, 4}, {3, 5, 7}, {6, 1, 8}};    打印矩阵(九宫阵);    //存放对九宫阵施行矩阵自乘变换的结果    果: <3, 3, >-= {0};    打印矩阵(果);    (横@[0 : 2]竖@[0 : 2]索@[0 : 2])        九宫阵[横][索] * 九宫阵[索][竖] ->+ 果[横][竖];    打印矩阵(果);     0;}
程序的执行结果如下图所示:
原创粉丝点击