Q&A

  • Copy 함수에 관해서
Copy함수는 리턴 값을 어떤 데이터형을 쓰는지 알고 싶습니다. 함수 설명에는 단지 배열형을 리턴값을 갖는다고 하는데 어떤 방식으로 리턴값을 주는지 잘 모르겠습니다.

Type myArray=array of Integer;

a:myArray;
b:myArray;
...
...
...
for i:=0 to 4 do a[i]:=i+1;
...
...
b:=Copy(a, 0, Length(a));

이와 같은 문장을 쓸 때, a와 b가 동일한 데이터 형이 아니면 에러가 나더군요.
함수를 정의 할 때, 배열을 리턴값으로 주려면 데이터형을 정의하고, 이 정의된 데이터형을 함수의 리턴형으로 주어야 합니다.

그런데 Copy함수는 어째서 입력 배열에 따라서 결과 값의 데이터형이 바뀌는 걸까요?
2  COMMENTS
  • Profile
    프리맨 2002.03.28 20:28


    델파이 기초 함수중에는 파스칼 문법에 어긋나는 함수들이 꽤 있습니다.
    이와같은 함수는 델파이 코드만으로는 만들어 낼수 없습니다.
  • Profile
    별볼일없는 2002.03.27 19:12

    초보의 답변입니다. ㅋㅋㅋ
    copy는 문자값을 돌려주는 함수거든요 위에서
    a,b 를 integer로 선언을 했는데
    b:=Copy(a, 0, Length(a)); => 이 부분에서 숫자형인데 문자를 넣고 있는것 같은데요
    참고로 b:=Copy(a, 0, Length(a)) 문장은 a문자열의 0번째부터 Length(a) 만큼의 문자를 복사 해오는 함수입니다.

    답변이 맞는지 모르겠네요 ㅋㅋ(허접허접)

    별볼일 없는 넘이 지나가다