尼姆语言对对象初始化有较短的表示法吗



文档中的示例

type
BinaryTree*[T] = ref object # BinaryTree is a generic type with
# generic param ``T``
le, ri: BinaryTree[T]     # left and right subtrees; may be nil
data: T                   # the data stored in a node
proc newNode*[T](data: T): BinaryTree[T] =
# constructor for a node
new(result)
result.data = data

有可能使用像这样的单行快捷方式吗

proc newNode*[T](data: T): BinaryTree[T] = 
data.new(data = data)

教程说:"注意,参考数据类型在过程开始时将为零,因此可能需要手动初始化";在这里";要分配一个新的跟踪对象,必须使用内置过程new;。但如果你真的需要保存这行,你可以制作一个模板:

template aNewNode(data: untyped): void =
new(result)
result.data = data
proc newNode*[T](data: T): BinaryTree[T] =
# constructor for a node
aNewNode data

相关内容

最新更新