使用不同的元组
Working with distinct tuples
对于定义为 type BroTuple = distinct tuple[a, b, c: int]
的类型,我如何:
创建一个新实例(Brotuple()
告诉我 Error: object constructor needs an object type
)
访问其字段(proc example(br: BroTuple) = echo br.a
说:Error: undeclared field: 'a'
)
使用不同的元组有点奇怪,因为 distinct
的目的是隐藏您通常拥有的访问器和过程。如果您的目标是防止与其他 tuples/objects.
产生歧义,则应改用对象
如果你真的想要它,给你:
type BroTuple = distinct tuple[a, b, c: int]
var bro = BroTuple((a: 0, b: 0, c: 0))
echo((tuple[a, b, c: int])(bro).a)
对于定义为 type BroTuple = distinct tuple[a, b, c: int]
的类型,我如何:
创建一个新实例(
Brotuple()
告诉我Error: object constructor needs an object type
)访问其字段(
proc example(br: BroTuple) = echo br.a
说:Error: undeclared field: 'a'
)
使用不同的元组有点奇怪,因为 distinct
的目的是隐藏您通常拥有的访问器和过程。如果您的目标是防止与其他 tuples/objects.
如果你真的想要它,给你:
type BroTuple = distinct tuple[a, b, c: int]
var bro = BroTuple((a: 0, b: 0, c: 0))
echo((tuple[a, b, c: int])(bro).a)