Main Content

편집기(Editor)에서 변수 범위(Variable Scope) 확인하기

범위 문제는 일부 코딩 문제의 원인이 될 수 있습니다. 예를 들어, 중첩 함수가 특정 변수를 공유하는 것을 인식하지 못할 경우 코드 실행 결과가 예상과 다를 수 있습니다. 마찬가지로, 지역 변수, 전역 변수, 영속 변수를 잘못 사용할 경우 예기치 않은 결과가 발생할 수 있습니다.

함수 간 변수 공유가 오류는 아니므로(개발자 의도일 수도 있음) 코드 분석기가 항상 범위 문제를 알려 주지는 않습니다. 함수나 변수가 사용되는 시기 및 위치를 코드에서 식별하려면, MATLAB®의 함수나 변수 강조 표시 기능을 사용해야 합니다. 활성화된 인터넷 연결이 있는 경우 변수 및 함수 강조 표시 비디오를 시청하여 주요 기능에 대한 간략한 정보를 확인할 수 있습니다.

중첩 함수 및 다양한 유형의 MATLAB 변수에 대한 개념적인 정보는 부모 함수와 중첩 함수 간에 변수 공유하기 항목 및 작업 공간(Workspace) 간 데이터 공유하기 항목을 참조하십시오.

자동으로 함수와 변수를 강조 표시(Highlight)하는 기능

기본적으로, 편집기는 다양한 파란색 음영으로 함수, 지역 변수, 공유 범위를 가지는 변수를 나타냅니다. 공유 범위를 가지는 변수에는 전역 변수, 영속 변수, 중첩 함수 내 변수가 포함됩니다. (자세한 내용은 중첩 함수 항목을 참조하십시오.)

강조 표시를 설정 및 해제하거나 색을 변경하려면 기본 설정을 클릭하고 MATLAB > > 프로그래밍 툴을 선택하십시오. MATLAB Online™에서는 강조 표시가 기본적으로 활성화되어 있으며 강조 표시에 대한 기본 설정을 변경할 수 없습니다.

기본적으로 편집기는 다음 작업을 수행합니다.

  • 커서를 함수 또는 변수 이름 내에 위치시키면 특정 함수 또는 지역 변수의 모든 인스턴스를 하늘색으로 강조 표시합니다. 예를 들면 다음과 같습니다.

  • 커서 위치에 상관없이 공유 범위를 가지는 변수를 청록색으로 표시합니다. 예를 들면 다음과 같습니다.

자동으로 함수와 변수를 강조 표시(Highlight)하는 기능의 예

함수 rowsum에 대해 다음 코드를 사용해 보십시오.

function rowTotals = rowsum
% Add the values in each row and 
% store them in a new array
 
x = ones(2,10);
[n, m] = size(x);
rowTotals = zeros(1,n);
for i = 1:n     
    rowTotals(i) = addToSum;
end
 
    function colsum = addToSum
        colsum = 0;
        thisrow = x(i,:);
        for i = 1:m
              colsum = colsum + thisrow(i);
        end
    end
 
end

이 코드를 실행하면, 각 행의 값에 대한 합계를 반환하여 다음을 표시하는 대신

ans =

    10    10

MATLAB에 다음이 표시됩니다.

ans =

     0     0     0     0     0     0     0     0     0    10

다음 단계를 수행하여 코드를 검토합니다.

  1. 탭의 환경 섹션에서 기본 설정을 클릭하고 MATLAB > > 프로그래밍 툴을 선택합니다. 자동으로 강조 표시공유 범위를 가지는 변수가 선택되어 있는지 확인합니다.

  2. rowsum 코드를 편집기로 복사합니다.

    변수 가 청록색으로 표시됨을 알 수 있습니다. 즉 i가 지역 변수가 아님을 나타냅니다. rowTotals 함수와 addToSum 함수 모두 변수 i를 설정하고 사용합니다.

    6번 라인에서 변수 n은 검은색으로 표시되어 여러 함수에 걸쳐 사용되지 않음을 나타냅니다.

  3. 변수 i가 있는 곳에다 마우스 포인터를 올려놓습니다.

    툴팁이 표시됩니다. 변수 'i'는 여러 함수에 걸쳐 사용됩니다.

  4. 여러 함수에 걸쳐 사용되는 변수에 대한 정보를 보려면 툴팁 링크를 클릭하십시오.

  5. i가 있는 곳을 클릭합니다.

    i에 대한 모든 참조가 하늘색으로 강조 표시되고 마커가 편집기 오른쪽의 표시줄에 나타납니다.

  6. 표시줄에 표시된 마커 중 하나에 커서를 올려놓습니다.

    툴팁이 나타나고 함수 이름 또는 변수 이름과 마커로 표시된 코드 라인이 표시됩니다.

  7. 마커를 클릭하여 해당 마커에 대한 툴팁에 표시된 라인으로 이동합니다.

    이는 파일에 편집기에서 한 번에 볼 수 있는 코드보다 많은 코드가 포함되어 있는 경우 특히 유용합니다.

15번 라인의 iy로 변경하여 코드를 수정합니다.

함수 참조를 클릭하면 이와 유사한 강조 표시 효과를 볼 수 있습니다. 예를 들어, addToSum을 클릭해 봅니다.