Delphi传递序数参数,如何实现长尾词的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计382个文字,预计阅读时间需要2分钟。
可以编写一个方法以任何顺序数类型作为参数。`Inc()` 和 `High()` 的作用方式不同。
`Inc()` 函数用于增加一个值,通常用于计数器或索引。例如,`Inc(i)` 会将变量 `i` 的值增加 1。
`High()` 函数返回数组或集合的最大索引或值。例如,如果有一个数组 `A[1..10]`,`High(A)` 将返回 10。
在 Delphi 2007 中,如果你需要使用未类型化的参数,可以选择 `procedure Foo(const ordinal)` 或 `procedure Foo(var ordinal)`。
- `procedure Foo(const ordinal)`:这里的 `ordinal` 参数是常量,意味着在函数内部不能修改它的值。- `procedure Foo(var ordinal)`:这里的 `ordinal` 参数是变量,可以在函数内部修改它的值。
选择哪个取决于你的需求。如果你需要在函数内部修改参数的值,应该使用 `var` 关键字。否则,使用 `const` 是更安全和更常见的做法。
是否可以编写一个以任何序数类型作为参数的方法? Inc()或High()的作用方式相同吗?我正在使用Delphi 2007
您需要使用 untyped parameter:procedure Foo(const ordinal);
要么
procedure Foo(var ordinal);
当然,由于您已经放弃了类型系统,因此您在这样的例程中可以做的事情有些受限.
本文共计382个文字,预计阅读时间需要2分钟。
可以编写一个方法以任何顺序数类型作为参数。`Inc()` 和 `High()` 的作用方式不同。
`Inc()` 函数用于增加一个值,通常用于计数器或索引。例如,`Inc(i)` 会将变量 `i` 的值增加 1。
`High()` 函数返回数组或集合的最大索引或值。例如,如果有一个数组 `A[1..10]`,`High(A)` 将返回 10。
在 Delphi 2007 中,如果你需要使用未类型化的参数,可以选择 `procedure Foo(const ordinal)` 或 `procedure Foo(var ordinal)`。
- `procedure Foo(const ordinal)`:这里的 `ordinal` 参数是常量,意味着在函数内部不能修改它的值。- `procedure Foo(var ordinal)`:这里的 `ordinal` 参数是变量,可以在函数内部修改它的值。
选择哪个取决于你的需求。如果你需要在函数内部修改参数的值,应该使用 `var` 关键字。否则,使用 `const` 是更安全和更常见的做法。
是否可以编写一个以任何序数类型作为参数的方法? Inc()或High()的作用方式相同吗?我正在使用Delphi 2007
您需要使用 untyped parameter:procedure Foo(const ordinal);
要么
procedure Foo(var ordinal);
当然,由于您已经放弃了类型系统,因此您在这样的例程中可以做的事情有些受限.

