博客
关于我
Nim教程【十二】
阅读量:794 次
发布时间: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/

你可能感兴趣的文章
Nginx 做负载均衡的几种轮询策略分析
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>
Nginx 反向代理+负载均衡
查看>>
Nginx 反向代理解决跨域问题
查看>>
Nginx 反向代理配置去除前缀
查看>>
nginx 后端获取真实ip
查看>>
Nginx 多端口配置和访问异常问题的排查与优化
查看>>
Nginx 如何代理转发传递真实 ip 地址?
查看>>
Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 学习(一):Nginx 下载和启动
查看>>
nginx 常用指令配置总结
查看>>
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 源码完全注释(11)ngx_spinlock
查看>>
Nginx 的 proxy_pass 使用简介
查看>>