gpt4 book ai didi

nim-lang - 如何比较模板中的两个 typedesc 是否相等

转载 作者:行者123 更新时间:2023-12-01 13:52:13 26 4
gpt4 key购买 nike

我希望能够比较模板中的两个 typedesc 以查看它们是否引用相同的类型(或至少具有相同的类型名称)但我不确定如何比较。 == 运算符不允许这样做。

type
Foo = object
Bar = object

template test(a, b: expr): bool =
a == b

echo test(Foo, Foo)
echo test(Foo, Bar)

它给了我这个:

 Error: type mismatch: got (typedesc[Foo], typedesc[Foo])

如何做到这一点?

最佳答案

is 运算符有助于:http://nim-lang.org/docs/manual.html#generics-is-operator

type
Foo = object
Bar = object

template test(a, b: expr): bool =
#a is b # also true if a is subtype of b
a is b and b is a # only true if actually equal types

echo test(Foo, Foo)
echo test(Foo, Bar)

关于nim-lang - 如何比较模板中的两个 typedesc 是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30899352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com