剛開始用Nim語言編寫(到目前爲止我非常喜歡)。作爲一個學習練習,我正在寫一個小型矩陣庫。我有更多的代碼,但我只會顯示與此問題相關的部分。 type
Matrix*[T; nrows, ncols: static[int]] = array[0 .. (nrows * ncols - 1), T]
# Get the index in the flattened array co
我在Nim(版本0.10.2)中傳遞數學函數(procs)的問題。 import math
var s1 = @[1.1, 1.2, 1.3, 1.4]
var s2 = map(s1, math.sqrt)
我得到的錯誤 Error: 'sqrt' cannot be passed to a procvar
如果我寫開方的包裝功能,它工作得很好。 proc fxn(x: float
我需要一個語句列表分爲多個部分,像這樣: import macros
macro test: stmt =
var first = quote do:
var x = 1
var second = quote do:
echo x
result = newStmtList()
first.copyChildrenTo(result
假設你有以下類型: type Min = 1..4
你想查一些INT裏面是否閔下降,你可以與集: 's' in {'a'..'z'}
它可能更表達出來大於: 2 in {low(Min)..high(Min)} #Too many characters
2 in Min #Expecting this conciseness
我想學習Nim及其功能,例如迭代器;我發現下面的例子工作正常。 for i in countup(1,10): # Or its equivalent 'for i in 1..10:'
echo($i)
但是,下列不工作: var
counter = countup(1,10) # THIS DO NOT WORK !
# counter = 1..10 # This works