名詞:方法與函數同義.僅僅是語言規定差別.在本文中不作區別.
1. python都是指def定義的處理過程 2. nim的 proc有返回值, func沒有返回值(0.19版以後出現) 3. c++的[方法(method)]專指類中的函數. 4. pascal的方法(procedure)指無返回值的處理,函數(function)指有返回值的處理 5. c中的方法(function)指無返回值的處理,函數(function)指有返回值的處理
if __name__ == 「__main__」: pass
if isMainModule: discard
nim裏文字串的操做符%不是默認操做符,須要在使用前引入strutils包.不然不能使用,在編譯時會報錯.
import strutils
這樣就會給爲文字串增長不少功能, 好比上面的%操做符
UFCS
要求方法(proc)或函數(func)的第一個參數是要操做的類型.python
proc len2(value:string):int = 處理過程省略 let a = 「」 #a的類型自動推導. 等同於 let a:string = "" len2(a) == a.len2 #nim能夠不寫函數調用的括號
pythonc++
class Person: def makelove(self, spouse)→Person: # python3寫法 省略 person = Person() baby = person.makelove(spouse)
nim編程
type Person = object proc makelove(self:Person, spouse:Spouse):Person = 省略 person = Person() baby = person.makelove(spouse) #或者 baby = makelove(person)
import osjson
os.exists(「./testfile」)
from os import *編程語言
導入該模塊下的全部內容
exists(「.testfile」) # 這裏使用os模塊內的函數[exists]不須要加上模塊名前綴
from os import nil #等同於python的[import os].這裏不導入模塊內的內容,而只是將模塊自己導入.函數
os.existsFile(「./testfile」)若是不加上[import nil]那麼默認是導入該模塊下的全部內容,而不須要在調用以前加上模塊名spa
import oscode
import os # 這裏導入os模塊
existsFile(「.testfile」) # 這裏直接使用os模塊內的函數[existsFile].
等同於python的[from os import *]