fge*_*fge 3 intersystems-cache objectscript
一切都在主题中,真的.
我没有看到这两种方法之间的行为差异x:
// first version
Method m(ByRef x As whatever)
{
// play with x
}
// second version
Method m(Output x As whatever)
{
// play with x
}
Run Code Online (Sandbox Code Playgroud)
必须有一些理由为什么这两个修饰语都存在,但是我对语言的"掌握"(嗯)不足以理解这些差异.我已经尝试并阅读了文档,搜索它等,到目前为止无济于事.
那么,这两个参数修饰符之间有什么区别?
那些只是"美化",它们在实际语言行为方面做得不多,而且只用于提供文档.想法是记录为ByRef的参数提供输入和输出,例如,您可以传递要排序的数组,并且Output参数仅提供输出,例如错误列表.输出修饰符稍后介绍,许多系统代码仍然使用ByRef用于两种用例.
如果参数实际通过引用传递,则仅由方法调用者确定,并且关键字并不重要.您将调用方法..m(.parameter)以通过引用传递变量,并按..m(parameter)值传递变量.
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |