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

    

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

舒生羽  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;
}

程序的执行结果如下图所示:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值