nim
文章平均质量分 84
big_big_snail
这个作者很懒,什么都没留下…
展开
-
nim中的文件导入方法
nim的一个源文件通常称为一个模块,模块可以使信息隐藏和分开编辑。一个模块可以通过import语句访问另一个模块的符号.这里我们就介绍几种方法在一个模块中去访问另一个模块中的符号:#Moduel importtestvar str*:string="hello" #`*`表示该符号为模块的输出符号,可以在其他模块中访问 #a,b*:int=5原创 2015-08-01 21:40:29 · 959 阅读 · 0 评论 -
Nim 网络编程
在Nim中提供socket编程的有两个模块:nativesockets和net。 nativesockets实现的是低级的socket接口,而net则是高级的实现。 关于socket相关的知识在以前的文章:Linux程序设计--套接字学习笔记 中已经讲过,这里就不在赘述。 关于跟多的Nim知识你也可以看github仓库:https://github.co原创 2016-03-07 15:31:17 · 837 阅读 · 0 评论 -
Windows下,给Nim程序添加图标
我们可以对Nim在windows下生成的可执行文件加上图标,具体的步骤如下:一, 下载MinGW 首先我们需要MinGW,如果你的机器上没有就需要下载它。这里需要注意的是,要下载与操作系统位数对应的MinGW。如果你的机器上安装有Dev-C++等IDE,在其安装目录下含有MinGW。然后把路径 path/MinGW/bin 加入环境变量。二,图标原创 2016-03-03 21:48:00 · 785 阅读 · 0 评论 -
改变Nim 标准库中streams 模块里的readInt 系列过程
本篇博文是修改Nim 标准库中的readInt 系列过程代码。实现的功能是从键盘输入数字,接收到的也是整型数字。如果对 streams 模块和readInt 过程还不熟悉,可以看看我之前的文章。当然从键盘上输入数字得到整型有其他的方法,下面的代码是使用Nim提供的文件流来实现的。 ##注意 由于过程 flush() 在Linux 下好像没有作用,若用Linux测试该代码,则调用readI原创 2015-12-03 17:26:27 · 541 阅读 · 0 评论 -
Nim 中的 streams 模块
streams 模块是 Nim\lib\pure\streams.nim 文件,该模块提供了一个流接口和两个实现,一个是字符串流`StringStream`,一个是文件流`FileStream`。很显然字符串流是通过字符串来实现 stream接口的,文件流是通过 Nim中的”File" 对象来实现的。下面先看一个例子:import streamsvar ss = newStringSt原创 2015-12-01 16:31:54 · 681 阅读 · 0 评论 -
浅谈 Nim 中的“接口”
本篇文章是作者在看Nim 标准库源码发现的,在Nim 官网的教程和手册上没有找到有关说明,“接口” 这个说法是从Java类比过来的,现在还不能确定Nim 的定义。 下面是我写的一段代码:type Person* = object of RootObj speak*: proc (p: Person) eat*: proc (p: Person)pr原创 2015-11-30 22:08:51 · 852 阅读 · 0 评论 -
vim支持nim学习笔记
一 :vim为nim语言提供支持:.语法高亮.自动缩进.vim中建立或跳转到错误.项目导航或跳转到定义二:安装安装nimrod.vim很容易,但首先你需要安装pathogen或vundle插件管理器。如果你已经安装并使用pathogen或vundle开始工作了,则可以跳到最后一步。推荐你使用syntastic插件以获得最佳的效果。若你还没有安装pathogen,原创 2015-11-17 20:59:56 · 1007 阅读 · 0 评论 -
Nim 中的参数传递
Var parameters在 Nim 中过程或方法有两种参数类型,一种是前面有 var 关键字 的参数,另一种是不带 var 的参数。例如:proc divmod(a, b: int; res, remainder: var int) = res = a div b remainder = a mod bvar x, y: intdivmod(8,原创 2015-09-24 15:39:27 · 595 阅读 · 0 评论 -
Nim 中的引用和指针
引用和指针 引用是介绍多对一关系的一种方式。这意味着不同的引用可以指向和修改相同的内存单元。在Nim中分为跟踪引用和非跟踪引用(反跟踪)。非跟踪引用也叫做指针。跟踪引用指向一个垃圾收集堆上的对象,反跟踪指向手动分配的对象或内存中其他地方的对象。因此反跟踪引用是不安全的。然而对于某些低级操作(访问硬件)反跟踪引用是不可避免的。 引用用 ref 关键字声明,指针用 ptr 关键原创 2015-09-17 18:11:17 · 568 阅读 · 0 评论 -
Nim-字符串编码转换
Nim中对字符串进行转码需要用到encodings模块。encodings模块:procgetCurrentEncoding():string{.raises:[],tags:[].}proc getCurrentEncoding():string {.raises: [],tags: [].}#检索当前系统编码,在UNIX上,总是返原创 2015-08-20 21:25:08 · 1075 阅读 · 1 评论 -
Nim-- 处理Unicode 、 UTF-8编码
xunicode 模块提供支持处理Unicode、 utf - 8编码。更多内容可以看unicode源文件,==》C:\Nim\lib\pure。type RuneImpl = int Rune* = distinct RuneImpl ##可以容纳任何 Unicode 字符 类型。 Rune16* = distinc原创 2015-08-22 01:58:41 · 2200 阅读 · 2 评论 -
Nim代码覆盖率
该文为Nim语言核心贡献着Dennis的博客,网址:https://hookrace.net/blog/nim-code-coverage用Nim创建代码覆盖率是非常容易的。你可以简单的使用古老而好用的gcov和lcov工具。Nim在编译时可以插入一个命令行参数: –debugger:native。我们一起来看下面这个简单的例子:var x = 0if x > 1: echo "foo"ec翻译 2016-11-06 18:42:09 · 551 阅读 · 0 评论