다음: 표현식, 이전: 자료 보관함, 상위 문서: 최상위   [차례][찾아보기]


7 변수

변수를 사용하여 값에 이름을 붙이고, 나중에 참조할 수 있습니다. 이미 많은 예시에서 변수를 보았을 것입니다. 변수의 이름은 반드시 글자·숫자·밑줄로만 이루어져야 하며, 숫자로 시작할 수 없습니다. 옥타브가 변수 이름의 길이를 제한하지는 않지만, 30자 이상은 사용하기에 좋지 않습니다. 아래는 모두 유효한 변수 이름입니다.

x
x15
__foo_bar_baz__
fucnrdthsucngtagdjb

그러나 __foo_bar_baz__ 같이 밑줄 두 개로 시작하고 끝나는 이름은, 옥타브 내부에서 사용하기 위하여 예약된 형식입니다. 옥타브의 문서화된 내부 변수와 내장 상징 상수에 접근하는 경우를 제외하고는 밑줄 두 개로 시작하고 끝나는 이름을 작성한 부호에 사용하면 않됩니다.

대소문자도 변수 이름에서 구분합니다. 상징 aA는 서로 다른 변수입니다.

변수 이름은 그 자체로 유효한 표현식입니다. 변수 이름은 변수의 현재 값을 의미합니다. 변수는 할당 연산자증감 연산자로 새 값을 받습니다. 할당 표현식을 참고하십시오.

특별한 의미가 있는 내장 변수가 하나 있습니다. ans 변수는 출력을 어떠한 변수에도 할당하지 않으면, 언제나 마지막 계산 결과를 담습니다. 부호 a = cos (pi)는 값 -1을 변수 a에 할당하지만, ans의 값을 바꾸지는 않습니다. 그러나 cos (pi)ans의 값을 -1로 설정합니다.

옥타브에서 변수는 변수형이 고정되지 않아서 같은 풀그림 내에서 처음에는 변수에 수치 값을 저장하였다가, 나중에 같은 변수에 문자열 값을 저장하여도 됩니다. 변수는 값을 받아 초기화되기 전에는 사용할 수 없습니다. 초기화하기 전에 사용하면, 오류가 발생합니다.

자동 변수: ans

변수에 명시적으로 할당하지 않은 직전 계산 결과입니다.

예를 들어, 아래 표현식을 실행하면,

3^2 + 4^2

 ans에 25를 반환합니다.

isvarname (이름)

이름이 유효한 변수 이름이면 참을 반환합니다.

유효한 변수 이름은 글자·숫자·밑줄 ("_")로만 이루어지면서, 첫 문자가 숫자가 아니어야 합니다.

같이 보기: iskeyword, exist, who.

변수_이름 = matlab.lang.makeValidName (문자열)
변수_이름 = matlab.lang.makeValidName (…, "ReplacementStyle", 바꿈_맵시)
변수_이름 = matlab.lang.makeValidName (…, "Prefix", 전치사)
[변수_이름, 수정_여부] = matlab.lang.makeValidName (…)

문자열로 변수 이름 변수_이름을 만듭니다.

입력한 문자열은 반드시 문자열이거나 낱칸 배열인 문자열이어야 합니다. 출력 변수_이름이 입력한 자료형을 따릅니다.

유효한 변수 이름은 글자·숫자·밑줄로만 이루어지면서, 첫 문자가 숫자가 아니어야 합니다.

"ReplacementStyle" 추가 선택은 잘못된 문자를 다루는 방법을 정합니다. 유효한 값은 아래와 같습니다.

"underscore" (기본)

잘못된 문자 모두를 밑줄("_")로 바꿉니다.

"delete"

잘못된 문자 모두를 지웁니다.

"hex"

잘못된 문자 모두를 해당 문자의 16진수 값으로 바꿉니다.

공백 문자는 "ReplacementStyle" 과정 전에 지웁니다. 공백 뒤 소문자는 대문자로 바뀝니다.

"Prefix" 추가 선택은  입력이 숫자로 시작할 때에 앞에 덧붙일 문자열 전치사를 지정합니다. 전치사는 반드시 그 자체로 유효한 변수 이름이어야 합니다. 기본 전치사는 "x"입니다.

선택 출력 수정_여부문자열 내 각 원소가 유효한 이름인지를 보여주는 논리 배열입니다.

같이 보기: iskeyword, isvarname, matlab.lang.makeUniqueStrings.

유_문자열 = matlab.lang.makeUniqueStrings (문자열)
유_문자열 = matlab.lang.makeUniqueStrings (문자열, ex)
유_문자열 = matlab.lang.makeUniqueStrings (문자열, ex, 최대_길이)
[고유_문자열, 수정_여부] = matlab.lang.makeUniqueStrings (…)

문자열 목록에서 고유 문자열 목록을 만듭니다.

입력 문자열은 반드시 문자열이거나 낱칸 배열인 문자열이어야 합니다. 출력 고유_문자열이 입력한 변수형을 따릅니다.

이 셈법은 두 번째 문자열에 밑줄("_")과 번호를 넣어 두 문자열 고유하게 합니다.

ex가 문자열이거나 낱칸 배열인 문자열이면, 고유_문자열은 자신과 ex와 관련하여 고유한  원소를 포함합니다.

문자열에 대한 색인 배열이거나 논리 배열인 ex는, 문자열을 고유하게 만드는 문자열의 부분 집합을 선택합니다. 선택하지 않은 원소는 수정하지 않습니다.

선택 입력인 최대_길이고유_문자열 내 문자열 모두의 최대 길이를 지정합니다. 최대_길이 내에서 입력 문자열을 고유하게 만들 수 없으면, 오류가 발생합니다.

선택 출력 수정_여부은 고유하게 만들기 위하여 문자열의 각 원소가 수정되었는지를 보여주는 논리 배열입니다.

같이 보기: unique, matlab.lang.makeValidName.

namelengthmax ()

매트랩과 호환되는 최대 변수 이름 길이를 반환합니다.

옥타브는 2^{31} - 1 길이까지의 문자열을 저장합니다. 그러나 매트랩은 모든 변수, 함수, 구조체 기록란 이름이 namelengthmax의 반환값 보다 짧아야만 합니다. 특히, 매트랩 기록철 형식(*.mat)에 저장한 변수의 이름은 이 길이로 잘립니다.


다음: 표현식, 이전: 자료 보관함, 상위 문서: 최상위   [차례][찾아보기]