nimjava
const
常量前缀.python
const HTTP_METHOD = r”HEAD”
python正则表达式
nim数组
tuple数据结构
与python tuple相同less
proc test():tuple[name:string, age:int8] = (“bill”,67) let (fname, fage) = test() # 此时,函数test返回的名称与年龄分别赋给了fname, fage.fname类型推断为string, fage类型推断为int8.
与python dictionary相同用法. 用key-value进行访问
示例1:函数
var o = (name: "Banana", weight: 2, rating: 'c') o[1] = 7 # weight:2 → 7 o.name = "Apple" o.rating = ‘g’
示例2:code
type Person = tuple[name: string, age: int] var person: Person person = (name: "Peter", age: 30) person = ("Peter", 30)# 可读性略差,但结果同样的写法: echo person.name # "Peter" echo person.age # 30
array
虽然彻底不一样,但用法却与python的tuple有些殊途同归.在须要不可变数组(既不须要增删改元素)的地方,极其方便地临时存一些值.string
var values = [“abc”,”def”,”ghijk”] #自动推断类型为array[3,string] values2: array[4,int] = [1,2,3,5] #4个下标的不可变数组,初始化时赋了4个值. values:array[0..5, int] = [2,3,5,8] #最长5个下标的不可变数组,初始化时赋了4个值.
python
-起始io
a = "python is a progamming language" b = "Slices are useless." print(a[12:18]) # --> 'progam' #12:从开始处第12个下标;18:从开始处的下标
-反向标记片段
b = "Slices are useful." print(b[11:-1]) # → 'useful' . 11:从开始处第11个下标;-1:从结尾处向前减小下标(反向的意思),也就是[倒数1的下标] b[11:-2] = "useful" # 出错, python不支持这样赋值
nim
-起始
var a = "Nim is a progamming language" echo a[7..12] # --> 'a prog'
-反向标记片段
var b = "Slices are useless." b[11..^2] = "useful" #nim用^表示反向下标位置.^2表示倒数第二个下标 echo b # --> 'Slices are useful.' # 改变变量b的内容