View Full Version : برنامه نویسی توابع در پاسکال
  
moein_sql
پنج شنبه 02 اردیبهشت 1389, 10:35 صبح
با سلام خدمت همه دوستان.
 
یه سوال>
 
آیا میشه توی پاسکال توابع تو در تو نوشت؟ یعنی اینکه یک تابع داشت که یکی از پارامتر هاش یه تابع باشه؟ یه چیز شبیه این
 
function x (i:integer ; function y (s:string):string):integer
Zahed2008
پنج شنبه 02 اردیبهشت 1389, 11:50 صبح
سلام دوست عزیز، راستش بطور دقیق نمی دونم ولی این طوریشو دیدم قبلا:
function x (i:integer; s:string ):integer
begin
...
s := y (s);
...
end;
vcldeveloper
پنج شنبه 02 اردیبهشت 1389, 12:50 عصر
تعریفی به شکل:
function x (i:integer ; function y (s:string):string):integer
معنی نداره؛ چون function y(s: string): string خودش یعنی y: string.
توی پاسکال می تونید توابع تو در تو داشته باشید، یعنی:
function X(a: Integer): string;
  function Y: string;
  begin
    Result := 'Test';
  end;
begin
  Result := Copy(Y,1,a);
end;
همچنین میشه به جای آرگومان یک تابع، مقدار یک تابع را ارسال کرد:
اگر دو تابع فرضی با تعریف زیر داشته باشیم:
function Y: string;
function X(Str: string, Num: Integer): string;
میشه X را به صورت زیر فراخوانی کرد:
MyStr := X(Y,10);
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.