• Using语句

    Using语句

    using语句在模块中反复使用相同的参数名称和类型提供了语法上的便利。 Instead of:

    1. proc foo(c: Context; n: Node) = ...
    2. proc bar(c: Context; n: Node, counter: int) = ...
    3. proc baz(c: Context; n: Node) = ...

    可以告诉编译器关于名称 c 的参数应默认键入 Contextn 应该默认为 Node 等的约定:

    1. using
    2. c: Context
    3. n: Node
    4. counter: int
    5.  
    6. proc foo(c, n) = ...
    7. proc bar(c, n, counter) = ...
    8. proc baz(c, n) = ...
    9.  
    10. proc mixedMode(c, n; x, y: int) =
    11. # 'c' 被推断为 'Context' 类型
    12. # 'n' 被推断为 'Node' 类型
    13. # 'x' and 'y' 是 'int' 类型。

    using 部分使用相同的基于缩进的分组语法作为 varlet 部分。

    请注意, using 不适用于 template ,因为无类型模板参数默认为类型 system.untyped

    应该使用 using 声明和明确键入的参数混合参数,它们之间需要分号。