Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

版权申明
查看: 5531|回复: 8

FP 支持自定义变参函数或过程吗?

[复制链接]

该用户从未签到

发表于 2010-11-14 19:57:44 | 显示全部楼层 |阅读模式
如题,请问FP 支持程序员自定义的如SYSTEM 单元的writeln,readln之类的变参函数或过程吗?即如下示例:
procedure printArray(element:integer..)
begin
..
end.

调用:
printArray(1);//print 1
printArray(1,2,3,4,5);//print 1 2 3 4 5

如果不直接支持,请问有什么变通的法了吗?
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-11-16 08:25:57 | 显示全部楼层

回 4楼(bruce0829) 的帖子

啊,那个图片是这个意思吗?那是俺搞错了,俺以为是搔脑袋。。。
俺的意思是不太明白你的回贴,因俺是问一个C语言式的Variadic Function,看到你的代码里好象并没找到有关它的实现,所以搔脑袋。

让兄弟误会了,抱歉!!
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-11-16 08:27:48 | 显示全部楼层

回 2楼(zeus-chu) 的帖子

俺在官网上也问过了,跟你的回复一样,另外加上cdel 能模拟C的Variadic Funciton
不过变参还是得用[ ].有点不爽。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-16 14:47:35 | 显示全部楼层
看到你問的原來是這個意思
更覺得偶原來的回復更可笑
還好刪除了, 別介意
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2010-11-15 08:36:05 | 显示全部楼层
    
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-15 18:03:53 | 显示全部楼层
array of const
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-15 18:07:07 | 显示全部楼层
另外像是 Writeln 和 Readln 之類的函數實際上並沒有顯式的聲明。 編譯器會根據你使用的參數的類型調用對應的具體的函數進行讀寫。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-15 21:24:14 | 显示全部楼层

回 2楼(samsam598) 的帖子

看到三隻笑到肚子痛的小狗...
是指偶提供的回答 "很可笑" 嗎 ?
既然可笑, 那就刪除了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-7 23:47:06 | 显示全部楼层
小弟如果遇到樓主的狀況可能會朝一些方面來思考.....

一是使用重載(overload),不過參數數目變化範圍大的話會很麻煩.....要寫很多版本

或者,使用選擇性參數?

再不然,傳陣列或結構指針再附加長度等參數資訊......由函式內部再自己取要用的部分

一點淺\見,不知有沒有幫助,或是看看板上前備是否有更好的解法......
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2024-4-20 14:54 , Processed in 0.033734 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表