nim

    1热度

    2回答

    考虑下面的代码片段: type Base = object of RootObj Consume*[T: Base] = proc(e: T): bool 我想要定义来自基层,基层消费者几种类型,就像这样: type BaseOne = object of Base ConsumeOne = Consume[BaseOne] 现在,当我创建一个新的C

    2热度

    2回答

    说我有一个类型是这样的: type Foo = object of RootObj f1: string Bar = object of Foo b1: string 我名帅这样一个实例: var bar: Bar bar.f1 = "FOO" bar.b1 = "BAR" var s = newStringStream() s.store(b

    3热度

    1回答

    我希望能够比较模板中的两个typedesc以查看它们是否引用相同类型(或至少具有相同类型名称)但不是当然如何。 ==运营商不允许这样做。 type Foo = object Bar = object template test(a, b: expr): bool = a == b echo test(Foo, Foo) echo test(Foo, Bar)

    2热度

    1回答

    这是我的目录结构: C:. │ lodepng.h │ lodepng.c │ nim.cfg │ test.png │ util.nim │ └───nimcache UTIL NIM从lodepng.h进口交流功能是这样的: proc loadPNG(image: var ptr[cchar], width, height: var cuint, filename: cstr

    2热度

    1回答

    阅读的宏文件(http://nim-lang.org/docs/macros.html)之前感叹号的意思是,我碰到这段代码: nnkIdent(!"echo") 我试图找到感叹号的意思是什么,但在Nim文档中找不到任何内容。 因此:尼姆的"string"和!"string"有什么区别?

    4热度

    1回答

    假设我们有两个模块:一个定义一个对象,另一个定义一个ObjectFactory。 Object需要访问ObjectFactory的一些函数,并且ObjectFactory需要访问Object才能实例化Object。 如果Object在模块中实现并且ObjectFactory在另一个模块中实现,那么在Nim中解决这个问题的方法是什么?

    4热度

    1回答

    当我尝试执行尼姆到没有垃圾收集器与--gc:none运行时,收到以下错误消息: Error: system module needs 'initStackBottomWith' 由于我发现手册和nimc在0引用文档,这是什么意思,我如何解决它?我试图把一切都放到主proc中并调用它像这样: proc main = let noGarbage = 1 + 2 main() (我不知

    5热度

    2回答

    我是Nim的新品牌,并且遇到了一些问题。以下代码导致SIGSEGV: Illegal storage access. (Attempt to read from nil?)。我似乎无法弄清楚如何用值填充序列序列。 const a = @[ 0, 1, 2, 3, 4, 5] b = @[10, 11, 12, 13, 14, 15] var matrix: seq

    1热度

    1回答

    TL; DR:如果你有类似的问题,首先检查你有没有做过的东西完全傻得像一个=混淆一个:。 我来到这里,我有错误no generic parameters allowed挣扎的一个问题:我被我管理的另一个愚蠢的错误重现一个愚蠢的错误,所以有一个很好笑的错误消息,百思不得其解。这个问题可能最好从以下简化来解释:仅通过第一个元素比较元组的问题。考虑这个例子: import algorithm # j

    2热度

    1回答

    我可以在运行时使用TAny访问对象的字段,我知道有.kind,它会给我正确的TAnyKind,但是有没有一种方法可以让我查询特定的用户定义类型或概念,如is运算符? 像... my_any is FooObject 或... my_any is BarConcept 还是有别的东西,会比在这种情况下TAny使用?