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的內容