StartprogrammingusingObjectPascal:DefaultValueParameters: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(SPOP 기본값인자 페이지 추가)
 
(번역수정)
(One intermediate revision by the same user not shown)
Line 1: Line 1:
===기본 값 인자===
==인자의 기본값==


프로시저와 함수에 대한 인자에 기본 값을 넣을 수 있습니다. 이 경우 이들 인자에 값을 넘기는 것을 무시할 수 있으며, 기본 값을 사용할 것입니다.
프로시저와 함수에서 사용하는 인자에 기본 값을 지정할 수 있습니다. 이 경우 이들 인자에 값을 넘기는 것을 무시할 수 있으며, 값을 넘기지 않는경우 기본값을 사용하게 됩니다.


다음 예제를 보도록 합니다.
다음 예제를 보도록 합니다.
Line 31: Line 31:
</syntaxhighlight>
</syntaxhighlight>


이 예제에서 처음에는 두 개의 값을, 두 번째는 세 개의 값을, 세 번째는 네 개의 값을 사용하여 SumAll 함수를 세 번 호출했습니다. a와 b는 의무적인 인자이며, 기본 값이 없기 때문에 모든 경우에 대해 값을 보내야 합니다.
 
이 예제에서 처음에는 두 개의 값을, 두번째는 세 개의 값을, 세번째는 네 개의 값을 사용하여 SumAll 함수를 세 번 호출했습니다. a와 b는 필수적인 인자이며, 기본값이 없기 때문에 모든 경우에 대해 값을 전달해야 합니다.


왼쪽부터 오른쪽으로 기본 인자 값의 전달을 무시할 수 있는데, 예를 들어 c에 대한 값 전달을 무시하려 한다면, d 에 대한 값을 보내지는 않을 것입니다.
왼쪽부터 오른쪽으로 기본 인자 값의 전달을 무시할 수 있는데, 예를 들어 c에 대한 값 전달을 무시하려 한다면, d 에 대한 값을 보내지는 않을 것입니다.


기본 인자는 오른쪽으로부터 왼쪽으로 시작할 것입니다. 다음 예제처럼 기본 인자 다음에 기본 값이 없는 인자를 선언할 수는 없습니다.
기본 인자는 오른쪽으로부터 왼쪽으로 시작해야 합니다. 다음 예제처럼 기본 인자 다음에 기본값이 없는 인자를 선언할 수는 없습니다.
 


<syntaxhighlight lang="pascal">
<syntaxhighlight lang="pascal">
Line 42: Line 42:
</syntaxhighlight>
</syntaxhighlight>


가장 중요한 인자는 함수나 프로시너의 머리 부분 왼쪽에 놓고, 덜 중요한 것(무시할 수 있는 것)은 함수나 프로시저의 오른쪽에 놓습니다.
 
가장 중요한 인자는 함수나 프로시저의 머리 부분 왼쪽에 놓고, 덜 중요한 것(무시할 수 있는 것)은 함수나 프로시저의 오른쪽에 놓습니다.
 
[[Category:StartprogrammingusingObjectPascal]]
[[Category:StartprogrammingusingObjectPascal]]

Revision as of 11:16, 4 April 2013

인자의 기본값

프로시저와 함수에서 사용하는 인자에 기본 값을 지정할 수 있습니다. 이 경우 이들 인자에 값을 넘기는 것을 무시할 수 있으며, 값을 넘기지 않는경우 기본값을 사용하게 됩니다.

다음 예제를 보도록 합니다.

program defaultparam;

{$mode objfpc}{$H+}

uses
    {$IFDEF UNIX}{$IFDEF UseCThreads}
    cthreads,
    {$ENDIF}{$ENDIF}
    Classes
    { you can add units after this };

function SumAll(a, b: Integer; c: Integer = 0;
    d: Integer = 0): Integer;
begin
    result:= a + b + c + d;
end;
begin
    Writeln(SumAll(1, 2));
    Writeln(SumAll(1, 2, 3));
    Writeln(SumAll(1, 2, 3, 4));
    Write('Press enter key to close');
    Readln;
end.


이 예제에서 처음에는 두 개의 값을, 두번째는 세 개의 값을, 세번째는 네 개의 값을 사용하여 SumAll 함수를 세 번 호출했습니다. a와 b는 필수적인 인자이며, 기본값이 없기 때문에 모든 경우에 대해 값을 전달해야 합니다.

왼쪽부터 오른쪽으로 기본 인자 값의 전달을 무시할 수 있는데, 예를 들어 c에 대한 값 전달을 무시하려 한다면, d 에 대한 값을 보내지는 않을 것입니다.

기본 인자는 오른쪽으로부터 왼쪽으로 시작해야 합니다. 다음 예제처럼 기본 인자 다음에 기본값이 없는 인자를 선언할 수는 없습니다.

function ErrorParameters(a: Integer; b: Integer = 10; c: Integer; x: string);


가장 중요한 인자는 함수나 프로시저의 머리 부분 왼쪽에 놓고, 덜 중요한 것(무시할 수 있는 것)은 함수나 프로시저의 오른쪽에 놓습니다.