は、ベースオブジェクトが非ジェネリックで型階層を、考えてみたが、サブタイプは次のとおりです。Nimの `of`演算子をジェネリックで使うには?
type
TestBase = ref object of RootObj
DerivedA = ref object of TestBase
DerivedB[T] = ref object of TestBase
field: T
proc testProc(x: TestBase) =
if x of DerivedB: # <= what to do here
echo "it's a B!"
else:
echo "not a B"
コンパイルされません。このようof
演算子を使用して、それを期待は種類オブジェクトので。仕事は何ですか? DerivedB[int]
のような特定の型に一致させるか、を渡すと意味がないT
にproc自体を汎用的にする。
メソッドと動的ディスパッチに頼らずに一般的にこの問題を解決する方法はありますか?