首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nim语言模块编程

前言 Nim支持把一大段程序分成若干个模块 一个模块就是一个源代码文件 每个模块都拥有它自己的名称空间 模块化可以起到封装(信息隐藏)和分步编译的作用 一个模块可以通过import语句获得另一个模块的符号...nim语言允许模块间的循环引用, 只有用星号(*)标记的顶级符号才会被导出给其他模块。...模块名和文件名相同,模块名的命名方式和nim编程语言的标识符命名方式相同 编译器编译模块的规则如下: 按照import的导入顺序,编译模块 如果存在循环引用,那么就只导入顶级符号(已解析的符号)...import语句 可以通过import导入一个或多个模块 (导入多个模块的话,只要在import后面跟上模块的名字即可,模块的名字用逗号隔开) 可以用except排除一个或多个模块中的符号 请看下面的示例代码...A把模块B中的符号导出出来了 这样模块C就不用再导入模块B了

1.2K70
您找到你想要的搜索结果了吗?
是的
没有找到

【Labview】G语言

编程的特点是通过图标连线方式替代怆痛的文本行编程模式,也被称之为是可视化编程或图形化编程,常用于自动化测量系统开发中。也是目前发展最快、功能最强大的图形化软件开发集成环境、又被称之为是G语言。...概述▣LabVIEW是一个工业标准的图形化开发环境,它结合了图形化的编程方式的高性能与灵活性以及专为测试、测量与自动化控制应用设计的高端性能与配置功能,可以为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具...说明-Labivew相较于其它的编程语言来说是比较容易上手的语言,因为它是图形化开发环境编程语言。 控制领域。说明-Labivew拥有专门的控制领域的模块-LabVIEWDSC。 快速开发。...⒋Labview和其它编程语言区别 由LabVIEW开发的G代码,其执行时遵照的规则是数据流,而不是大多数基于文本的编程语言如「C语言、C++语言、JAVA语言」等...更加传统的过程化方式被执行的命令序列...②程序框图⇢编程界面。

1.1K20

python模块编程

本节课我们来学习一下python的模块编程 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。...标准模块 Python 本身带着一些标准的模块库,由这些标准库构成python丰富的功能 有些模块直接被构建在解析器里,这些虽然不是一些语言内置的功能,但是他却能很高效的使用,甚至是系统级调用也没问题...就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。...比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。...如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

31620

800G模块的分类

800G模块今年开始量产,由于ChatGPT等AI技术的爆发,进一步增加了市场对800G模块的需求。这篇笔记梳理下800G模块的信息,方便大家参考。...800G=8*100G=4*200G, 因此按单通道速率来分,主要可以分为两类,即单通道100G和200G,对应的架构如下图所示。单通道100G的光模块可以较快落地,200G则对光器件的要求比较高。...对于单模的情况,存在多种800G模块的标准, 1)800G DR8, 800G 2xDR4和800G PSM8 这三种标准的内部架构类似,包括8个Tx和8个Rx,单通道速率为100Gbps,需要16根光纤...2xDR4的光接口为2个MPO-12, 如下图所示,可以与400G DR4光模块互联,方便进行数据中心的升级。而PSM8与DR8的光接口为MPO-16。...目前已经量产的单模800G模块,主要采用EML方案。硅光方案是否能够占据一席之地?犹未可知,主要还取决于成本和功耗。对于单波200G的方案,EML或者薄膜铌酸锂是两个可能的技术路线。

1.5K20

M语言编程_所有编程语言大全

一直对技术有很强的兴趣,终于,决定要写自己的语言(m语言)。那就先从最简单的开始:解释执行器。...一套完整的语言包含的肯定不止解释执行器了,还要有编译器和IDE,也就还要有语法高亮、智能提示等,不过还没学会那些,先搞个最基本的解释执行器。...语句、while语句、系统自有函数定义、用户函数定义、函数调用) 找一款词法语法解析器工具,让字符串流变成语法书(AST) 编写解释执行器 元数据收集 变量作用域定义、查找 解释执行 先设想我们的m语言语法要怎么牛...接着来看看基于ANTLR的词法定义: m.g4: grammar m; import basic,function,assignStmt,ifStmt,forStmt,whileStmt; nomalStmt

12.9K30

400G模块标准新成员——400G BiDi

关于400G模块的其他标准,可以参看这一笔记 400G模块的主要标准。 BiDi是bidirectional的简称,顾名思义,也就是说同一光纤里可以同时传输两个方向的信号。...而一般光模块里是单一波长的光信号在光纤里单向传输。在BiDi光模块内部需要有滤波器(下图中的diplexer),可以使得不同波长的光传输到特定的路径。...100G BiDi只需要两根光纤,如下图所示,正向传输850nm的光波,反向传输910nm的光波。单根光纤里单个波长的速率为25G, 两根光纤里总的信号速率为25G*2*2=100G。...而100G SR4/PSM4光模块中都需要8根光纤(4+4),两者对光纤的数目要求差别较大。 ?...,总的信号速率为8*2*25G=400G

1.1K20

6.计算机语言的发展 编程语言发展 编程语言类型 为什么会有编程语言 编程语言什么作用 机器语言 高级语言分类 编程语言历史 编程语言有哪些 编程语言编年史

语言 计算机语言指用于人与计算机之间通讯的语言,也即是平时说的编程语言 编程 指令的概念很早就形成了,其实指令本身就是一种编程 一个指令替代了一组逻辑电路或者机电式/机械式中的一个计算单元 你只需要一个指令就相当于已经操作了一整个的模块...这不也是一种编程的思维吗,只不过是指令对应硬件 随着指令在现代计算机中的应用,计算机程序得以快速的发展 因为一旦你知道计算机可以执行哪些指令,其实也就是哪些功能,具有哪些能力 你就可以把这些指令按照一定的逻辑顺序重排组装...不同的机器有不同的汇编语言 需要汇编程序翻译成计算机可以识别的二进制机器语言 本质还是面向机器的低级语言 机器语言和汇编语言都是面向硬件的具体操作的,语言对机器过分依赖,所以称之为低级语言 高级语言...为了能够更加通用的解决问题,而不是专注于硬件本身,出现了高级语言 高级语言不用关注机器的指令,使用接近人习惯的自然语言和数学语言符号 能够专注于问题本身的业务逻辑 显然高级语言也是不能直接运行于机器上的...,需要翻译程序转换为机器可以执行的目标代码程序 虽然高级语言不涉及寄存器这些东西,不需要你了解硬件 但是这是高级语言隐藏了她们,而不是说这些东西不存在不重要,所有的语言都逃不过这一关 始终是要编程机器语言

15.4K20

40G模块方案:10G至40G网络的布线方法

今天给大家分享如何通过40G模块将10G网络升级至40G网络,首先要根据应用场景选择合适的40G模块以及采用有效的40G升级方案,接下来易天光通信(ETU-LINK)给你详细介绍10G至40G网络的光模块解决方案...选择40G模块的几个因素 在10G到40G升级之前,首先会面临网络产品选型的问题。怎么选择40G模块产品和相应网络产品呢?...10G至40G网络的连接方案 1、10G网络的光模块连接方案 利用两根12芯MPO主干光缆作传输,两端分别连接MPO-LC模块盒,再通过LC双工跳线,连接到SFP+光模块上,完成10G网络的传输。...3个40G模块,从而完成40G信号的传输。...以上方案就是10G升级至40G网络,能够帮助用户在10G网络的基础上快捷完成升级,易天光通信(etulink.com)提供的光模块解决方案和产品,能有效节省成本,方便维护管理。

1.4K60

400G模块的主要标准

OFC 2018刚刚落下帷幕,很多公司都展示了其400G模块的demo产品。本篇笔记主要调研下400G模块的主要标准,以供大家参考。...先做一个简单的数学计算,100G=25G*4, 目前100G主要采用NRZ编码方式,以四通道形式实现,单通道速率为25G。CWDM4是4个中心波长,广义上也可以看成4通道。...将100G提高到400G, 如果仍然采用4通道的形式,每个通道的速率需要提高到100G,即便采用PAM4的编码方式,单通道的调制速率也需要达到50G,这在目前还存在一定的挑战。...原先的QSFP28模块仍可以使用,只需再插入一个模块即可。其示意图如下, ? 由于增加了4个通道,其上下两面电接口的引脚增加了一排,如下图所示。下图中左边一排引脚即为新增加的pad引脚。 ? 2....但是由于不是热插拔,一旦某个模块出现故障,检修比较麻烦。 最后贴一张这几种标准尺寸的对比图, ?

1.5K20

人类语言遇上编程语言

编程语言之间的相似之处比人们乍看上去的还要多得多。这意味着如果你很了解某一门编程语言,学习其他编程语言(至少同类型的编程语言)就变得十分容易。...这也就是为什么好的软件公司在招人的时候并不十分介意你是否已经掌握了他们所需的编程语言技能,他们会转而去看你了解多少门编程语言,期望在你的简历上看到你已经掌握了许多足够多样化的编程语言,此时学习一门新语言对于你来说并非难事...了解一门编程语言意味着你了解如何在程序中自如地使用这些控制结构和控制流来表达思想。 不同编程语言之间的语法可能会有些许不同,但是编程语言之间基本的表达式大体是一样的。...一门没人愿意使用的编程语言能好到哪去? 在编程语言的表达能力和简洁程度上做出权衡是一门艺术。...谈到自然语言编程语言之间的差异,编程语言比自然语言更加严格,对错误的容许程度更低。这是因为人类语言具有显著的内置冗余机制,容许我们使用上下文来消除歧义。

10.9K60

C模块编程

模块编程也一样,程序核心部分定义好接口,各个模块按照接口的定义去实现功能,然后把各个模块挂载到程序上即可,这个有点像Java的面向接口编程。如下图: ?...使用C进行模块编程 用过C语言编程的人都知道C语言是没有接口的,所以怎么使用C语言进行模块编程呢?...使用C语言的结构体和函数指针可以模拟出Java接口的特性,我们只需定义一个由多个函数指针构成的结构体,然后功能模块实现这个结构体里的函数即可。...从上面的结果可以看到,我们可以注册不同的模块来提供不同的服务,模块编程就这样实现了。 Are you kidding me?...C的模块编程的确是这么简单,但是我们可以实现更强大的功能:使用动态链接库来实现模块化。

76630

5G超新时代,点燃了25G和100G模块市场

目前超100G标准化进展平稳,相应速率接口的光模块逐步成熟,超100G已在2018年逐步投入试点和小规模应用。...中国移动和其他运营商修订的5G前传网络架构导致其对无线前传中采用的光模块的需求大幅增长。...相关预计显示,5G时代将大规模商用25G无线光模块,仅在5G前传领域预计就需要5000万个25G/50G模块,同时中传领域也是新的增长点。...易天线上店铺:shop1458197280610.1688.com 面对数据中心在5G时代的进一步蓬勃发展,易天光通信(etulink.com)也在不断开拓数据中心市场,为运营商、互联网厂商等客户提供数据中心光模块系列解决方案...,如:25G模块、100G模块、AOC有源光缆、DAC高速线缆等根据不同用户的需求提供定制化产品。

59020
领券