这些声明之间的区别

Difference between those declarations

我从本周初开始学习 Delphi,目前正在阅读 Delphi 7 - Developer's Guide。在本书(第5-37章)中,作者声明了一个函数如下:

function FromEuro(const AValue: Double, Factor; FRound: TRoundToRange): Double;

如果非要我写这个函数,我会这样写:

function FromEuro(const AValue, Factor: Double; FRound: TRoundToRange): Double;

我的问题是:这些声明之间有什么区别吗?

我想你想问的是这两者有什么区别:

function FromEuro(const AValue: Double; Factor: Double): Double; 
function FromEuro(const AValue, Factor: Double): Double;         

第二个变体是扩展为:

function FromEuro(const AValue: Double; const Factor: Double): Double;

这与

不同
function FromEuro(const AValue: Double; Factor: Double): Double; 

通过第二个参数 const.

请注意,我删除了最后一个参数,因为它与问题无关。

documentation 说:

A parameter list is a sequence of parameter declarations separated by semicolons and enclosed in parentheses. Each declaration is a comma-delimited series of parameter names, followed in most cases by a colon and a type identifier, and in some cases by the = symbol and a default value.

文档没有提到的是,以逗号分隔的一系列参数名称中的每个参数都具有相同的类型。我想这是显而易见的,它确实遵循了变量声明设置的示例。变量的 documentation 表示:

The basic syntax for a variable declaration is:

var identifierList:type;

where identifierList is a comma-delimited list of valid identifiers and type is any valid type. For example:

var I: Integer;

declares a variable I of type Integer, while:

var X, Y: Real;

declares two variables - X and Y - of type Real.

另一方面,也许您已经知道所有这些,而我们所拥有的只是书中的错字!确实如此,因为可以在此处找到完全相同的拼写错误:http://docwiki.embarcadero.com/RADStudio/en/Using_a_Class_to_Manage_Conversions