中语言超酷特性之 --- 便捷定义数据一

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

舒生羽  wzyorg@gmail.com

 

     还是在计算机程序发展史的早期,Donald Ervin Knuth就提出了“程序=数据结构+算法”的观点。这的确帮助我们认识程序指出了一个可以深入实质的方向。

    程序员的工作相当大的部分就是根据各种需求,建立计算模型。也就是定义各种数据结构,并设计根据这些数据结构来实现计算功能的算法,从而最终得到程序和软件的信息处理能力。

    因而,我们应该在程序语言中为定义算法和数据结构提供各种方便,这样程序员就能省去许多枯燥而重复的麻烦工作。我们在前面的文章里已经看到中语言为便捷定义算法提供了许多简捷形式和操作。基于上面的理由,我们同样在中语言里面为便捷定义数据结构提供了多种方便。

    事实上,在中语言里,同C/C++一样,数据结构的定义主要是通过自定义数据类型来实现。而数据结构定义上的便捷主要是通过编译器内造的数据结构和编译器实现的数据结构间的操作(比如类的继承)以及语言的支持库来达到。

在这篇文章里,我们要介绍的是中语言提供的对于定义值的方便法门。值是数据结构的实例,是数据本身,也是计算最重要的的输入和和输出,在中语言对程序的“指称、形容、计算”三要义理解框架内是一种结合性的存在。

    中语言提供叫做“结构形式值”的形式来方便定义复杂数据结构的实例,这些复杂数据结构基本上都是为中语言标准库所包含的内容,也就是大家熟知的仓、集、册、映(分别对libstdc++内的vector、set、list、map)等等。

这种形式的大致形式如下:

[指示符](参数册子){启式册子}

    下面是一个应用内造的阵和标准库的仓结构形式值的例子。 

 华库.仓;
 华库.进出流;



{
    用 宿 准;
}
道: ()->()=
{
    //使用原始的数组结构
    数列阵 :=  [] {2, 3, 5, 7, 11};
    (元素 @ 数列阵)
        窄控出 << 元素 << 1#' ';
    窄控出 << 行尾;
    //使用高级的仓结构
    数列仓 :=  [~] {2, 3, 5, 7, 11};
    数列仓.放进(13);
    数列仓.放进(17);
    数列仓.放进(19);
    //下面的形式是所谓"lambda"算式,中语言里面也将其称为简力或者无名力
    /: (数列: <>-仓-)->()=
    {
        总和 :=  0;
        (某 @ 数列)
        {
            某 ^^ 2 ->+ 总和;
        }
        窄控出 << 数列[0] << 1#"到" << 数列.提取() << 1#"之间素数的平方和是: " << 总和 << 行尾;
    }(数列仓);
}

 

 

程序的运行效果如下:

官网文件参考:http://www.zhongyuyan.org/ZStudy/超酷程序/便捷定义数据一.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值