博客
关于我
Nim教程【十二】
阅读量:803 次
发布时间:2023-02-16

本文共 1178 字,大约阅读时间需要 3 分钟。

排除指定符号

在大多数情况下,我们使用import语句来导入模块中的符号。如果你希望排除某些特定的符号,可以使用except子句。比如,以下代码可以选择性地导入mymodule模块中的符号: ```python import mymodule except y ```这样,只有mymodule模块中的y符号会被导入,其他符号则不会。如果需要排除多个符号,可以用逗号分隔: ```python import mymodule except y, z ```

导入指定符号

除了全导入模块中的所有符号外,我们还可以使用from语句来选择性地导入特定的符号。例如: ```python from mymodule import x, y, z ```这样,只有mymodule模块中的x、y、z三个符号会被导入。

强行名称空间限定

在某些情况下,你可能希望确保导入的符号在当前名称空间中带有模块前缀。例如: ```python from mymodule import x # 当前模块使用x时,必须带上mymodule前缀才能使用 x = mymodule.x() ```如果模块名称较长,可以通过给模块起别名来简化使用。例如: ```python from mymodule as m import x # 现在m就是mymodule的别名,可以直接使用m.x() x = m.x() ```

include语句

include语句与from语句有本质区别。include语句会在编译时将多个文件合并成一个文件,这对于将大型文件划分为多个小文件非常有用。例如: ```python include fileA, fileB, fileC ```

对象

在Nim语言中,对象和元组有相似之处,但对象提供了更多功能。对象支持继承和信息隐藏,构造方法只能在对象内部使用。例如: ```nim type Person = ref RootObj name*: string age: int Student = ref Person id: int student = Student(name: "Anton", age: 5, id: 2) ```标记为*的属性(如name*)可以被外部访问到,而没有*的属性则隐藏了。对象的类型只能通过type定义,Nim支持单继承,但不支持多继承。

自引用对象类型

对象和元组都可以创建复杂的数据结构,甚至支持自引用。例如: ```nim type Node = ref NodeObj NodeObj = object left, right: Node sym: ref Sym Sym = object name: string line: int code: PNode ```这种自引用类型在某些应用中非常有用。

转载地址:http://jdjfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现MSRCR算法(附完整源码)
查看>>
Objective-C实现multi level feedback queue多级反馈队列算法(附完整源码)
查看>>
Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
查看>>
Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
查看>>
Objective-C实现n body simulationn体模拟算法(附完整源码)
查看>>
Objective-C实现naive string search字符串搜索算法(附完整源码)
查看>>
Objective-C实现natural sort自然排序算法(附完整源码)
查看>>
Objective-C实现nested brackets嵌套括号算法(附完整源码)
查看>>
Objective-C实现nevilles method多项式插值算法(附完整源码)
查看>>
Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
查看>>
Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
查看>>
Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
查看>>
Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
查看>>
Objective-C实现ngram语言模型算法(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>