[专题]delhpi的子函数function- function-begin-end-begin-end在其他语言中的使用

jinjazz 2005-10-20 03:39:58
在群里549提出的这个问题,好像令狐给了解答,由于忙没有从头看整个讨论过程,现在希望能在这里重新整理一下.问题提出:
function ProcMain(str:string):string;
var m:integer;
function ProcSub:string;
begin
inc(m);
if m<=Length(str) then
begin
result:=ProcSub+str[m];
end;
end;
begin
m:=0;
result:=ProcSub;
end;

比如有这么一个函数,功能是反转一个字符串,可能设计不合理,但我是故意这样写的,只是一个讨论的例子,请大家不要针对这个过程设计进行评论。
我想讨论的是,假如有这么一个结构的函数怎么用其他语言合理的"解释",希望能得到不同版本的答案,比如java ,c\c++,c#等
...全文
158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinzhiw 2005-10-21
  • 打赏
  • 举报
回复
学习
猛禽 2005-10-20
  • 打赏
  • 举报
回复
错别字-_-|||

关键是功能的实现……
猛禽 2005-10-20
  • 打赏
  • 举报
回复
不是有点BT,是很BT。

不过也算是一种解决方案。

不过JJ关注在其它语言中如何“模拟”我认为没有意义,关键是功能是实现,比如不考虑ProcSub和m变量的作用域,只关注于实现相同的功能即可。因为不同的语言毕竟有相当不同的特性,有些并不是那么好模拟的。
lw549 2005-10-20
  • 打赏
  • 举报
回复
在c中可以这样

demo.c

int m; /*外部不可见****/
extern char* ProcMain(char * str);/*导出,外部可见*/
char* ProcSub(); /*外部不可见****/

char* ProcMain(char * str){
m = 0;
return ProcSub;
}

char* ProcSub(){

/*省略*/

}
//////////////////////////////////////
有个问题,如果这个c文件里有第三个函数,TheThirdFunc,那么TheThirdFunc是可以调用ProcSub的,为避免这种情况的出现,这个.c文件里只能有这两个函数,这样做是不是有点bt ^_-
jinjazz 2005-10-20
  • 打赏
  • 举报
回复
如果在其他语言中ProcSub和m变量的作用域如何合理解释

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧