【发布时间】:2014-03-13 16:32:25
【问题描述】:
不知何故,System.String:Format 存在但似乎不起作用。
DEFINE VARIABLE strValue AS CHARACTER NO-UNDO.
strValue = "Sebastien".
MESSAGE System.String:Format("Hello {0}", strValue) VIEW-AS ALERT-BOX.
结果是“Hello C:\temp\run.p”而不是“Hello Sebastien”。
所以我决定创建一个等效函数。
如何声明一个参数数量不确定的方法?
例子:
METHOD PUBLIC INTEGER Calculate(
INPUT iMultiply AS INTEGER
,INPUT iInt1 AS INTEGER
,INPUT iInt2 AS INTEGER
...
,INPUT iIntX AS INTEGER):
RETURN iMultiply * (iInt1 + iInt2, ..., iIntX).
END METHOD.
DISPLAY Calculate(10, 1, 2, 3). /* Result: 60 */
DISPLAY Calculate(2, 1, 1, 1, 1, 1). /* Result: 10 */
谢谢! 塞巴斯蒂安
【问题讨论】:
-
如果不可能的话,有没有办法在extent中使用关键字new?示例:DISPLAY Calculate(10, NEW EXTENT INTEGER(1, 2, 3))。 ?
-
并将方法的签名更改为:Calculate(INPUT iMultiply AS INTEGER, INPUT iInt AS INTEGER EXTENT))。
标签: progress-4gl openedge