2014-02-09 41 views
2

我最近不得不面对这个问题,也就是说,我怎样才能在一个函数或Pascal过程中传递1,2,3,9,38919,0或任意随机数的参数?我想创建一个接受尽可能多的参数的子程序,就像我想传递它的参数一样,如writeln。
帕斯卡尔 - 如何将可变数量的参数传递给子程序? (可变参数函数)

writeln('Hello, ', name, '.'); 
writeln('You were born on ', birthDate, ', and you are ', age, ' years old.'); 


我搜索了一些指导或任何网站,但唯一相关的线程我发现是theseones,这帮助我理解我的问题有点多,但我仍然不知道如何在帕斯卡尔做这个。
我也发现this,但我不确定我是否真的明白它的意思。 (并且我也不知道是否适用于Free Pascal也适用于其他编译器)

任何想法? :/

回答

3

首先,writeln是一种语言结构,而不是函数。你无法为自己的功能模仿它。 (虽然可以重新路由写入输出,但FPC有writestr,可以写入字符串)

array of const语法更加面向Delphi。 Open array也是面向Delphi的,但Turbo Pascal有自己的形式。这只是一种类型。

但是,由于经典的帕斯卡无法做可变参数,如果你想这样做,你不能避免使用扩展。

+0

非常感谢您的回答,我想我会使用“数组类似”的方法来解决我的问题,因为我认为这是最接近我想要的方式。感谢您的链接! – qreon

相关问题