0
我想知道如何在nim中使用「概念」(0.13)。我有以下代碼:如何在Nim中使用「概念」?
type
T = concept t
t.a is string
T0 = ref object
a: string
T1 = ref object
a: string
q: string
proc echoT(t: T) : void =
echo "hello " & t.a
echoT(T0(a: "T0"))
echoT(T1(a: "T1", q: "q"))
然而,編譯器會在第一次調用echoT:
t.nim(21, 6) Error: type mismatch: got (T0)
不應該在該工作一樣用替換echoT
聲明:
proc echoT[T](t: T): void = echo "hello " & t.a
(它編譯和運行),除了在概念版本中約束 t.a is string
是強制執行的嗎?
如何讓編譯器識別使用某個概念?
Andrew ......嗯......好吧:原創不符合......但是,當我把它放在一個新的地方,它的工作原理!有些東西在原來的地方對我的設置有些screw screw。 (nimcache?)。感謝您的檢查。 :) – shaunc