Nim在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
[更多]
显示目录

序列



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

序列

序列类似与数组,但它有动态长度可以在运行时改变(就像字符串)。由于序列是可变大小的,所以它们总是在堆上分配以及垃圾收集。

序列总是带有一个int类型索引从0位置开始。len,low,high操作同样作用于序列。x[i]符号可以用于访问x的第i个元素。

序列可以通过数组构造器[]结合数组序列操作符@来构造。另一种为序列分配空间的方法是调用内置的newSeq过程。

一个序列可以被传递给一个开放数组的参数。

Example:

var
  x: seq[int] # a sequence of integers
x = @[1, 2, 3, 4, 5, 6] # the @ turns the array into a sequence

序列变量用nil初始化。然而,由于性能的原因很多的序列操作不能处理nil(导致引发一个异常)。因此应该用空序列@[]而不是nil作为空值。但是@[]在堆上创建了一个序列对象,所以在这里需要做一个权衡 。

for语句可以使用一个或两个变量当用于一个序列的时候。当你使用一个变量的形式,这个变量将会持有序列提供的值。for语句从系统模型的items()迭代器循环这个结果。但是如果你使用两个变量的形式,第一个变量将保存索引位置,第二个变量将保存值,第二种形式for语句是从系统模型的pairs()迭代器循环结果。

for i in @[3, 4, 5]:
  echo($i)
# --> 3
# --> 4
# --> 5

for i, value in @[3, 4, 5]:
  echo("index: ", $i, ", value:", $value)
# --> index: 0, value:3
# --> index: 1, value:4
# --> index: 2, value:5
由JSRUN为你提供的Nim在线运行、在线编译工具
        JSRUN提供的Nim 在线运行,Nim 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout