다음: 구조체 내 자료 처리하기, 이전: 구조체 만들기, 상위 문서: 구조체 [차례][찾아보기]
아래는 구조체의 기록란을 조작하는 다른 종류의 함수입니다.
구조체 s의 기록란 개수를 반환합니다.
같이 보기: fieldnames.
입력에 따라 기록란의 이름을 담은 낱칸 배열인 문자열을 반환합니다.
구조체 구조체를 입력하면, 구조체 원소의 이름을 반환합니다.
옥타브 객체 객체를 입력하면, 객체의 공통 속성을 반환합니다.
자바 객체인 자바_객체 또는 자바 분류 이름인 자바_분류명 문자열을 입력하면, 객체나 분류의 공통 기록란(자료 원소)를 반환합니다.
같이 보기: numfields, isfield, orderfields, struct, methods.
가로가 이름이란 원소를 가진 구조체이면 참을 반환합니다.
이름이 낱칸 배열인 문자열이면 같은 크기의 논리 배열을 반환합니다.
같이 보기: fieldnames.
기록란 요소 기록란의 값이 값으로 설정된 구조체 s의 사본을 반환합니다.
예시입니다.
s = struct (); s = setfield (s, "foo bar", 42);
위 예시는 아래 표현식과 같습니다.
s.("foo bar") = 42;
일반적인 구조체 구문 s.foo bar = 42
는 공백 문자가 있어 잘못된 옥타브 식별자를
사용하므로 사용 불가능 합니다. 임의의 문자열을 기록란 이름으로 사용하면 매트랩과 호환되지 않고, 경고 식별자
Octave:language-extension
이 활성화되었으면 경고가 나옵니다.
경고 식별자를 보십시오.
두 번째 호출 형식은 구조체 배열의 기록란을 설정합니다. 입력한 구조체_색인은 구조체 배열의 원소를 선택하고, 기록란은 선택한 원소의 기록란 이름을 정하며, 기록란_색인은 기록란의 원소(배열 또는 낱칸 배열의 원소)를 선택합니다. 구조체_색인, 기록란, 기록란_색인 입력에 새긴 위치를 같게 하여 구조체를 안을 수 있습니다. 구조체 배열 색인과 기록란 원소 색인은 반드시 낱칸 배열이어야 하며, 기록란 이름은 반드시 문자열이어야 합니다.
예시:
s = struct ("baz", 42); setfield (s, {1}, "foo", {1}, "bar", 54) ⇒ ans = scalar structure containing the fields: baz = 42 foo = scalar structure containing the fields: bar = 54
일반적인 스칼라 구조체에 다른 스칼라 구조체를 안기는 예시입니다. 모든 경우에 구조체 색인 구조체_색인이 지정되지 않으면
기본 값 1(스칼라 구조체)를 사용합니다. 그러므로 위 예시는 setfield (s, "foo", "bar",
54)
으로 더 간결하게 적어도 됩니다.
마지막으로 안은 구조체 배열 예시입니다.
sa.foo = 1; sa = setfield (sa, {2}, "bar", {3}, "baz", {1, 4}, 5); sa(2).bar(3) ⇒ ans = scalar structure containing the fields: baz = 0 0 0 5
sa는 기록란 1과 2가 있는 구조체 배열로, 두 번째 기록란의 세 번째 원소가 간단한 스칼라 구조체입니다. 스칼라 구조체의 끝에는 행렬 값을 포함한 기록란이 있습니다.
위 예시와 같은 결과를 아래 방식으로도 얻을 수 있음을 확인하십시오.
sa.foo = 1; sa(2).bar(3).baz(1,4) = 5
같이 보기: getfield, rmfield, orderfields, isfield, fieldnames, isstruct, struct.
구조체 또는 안긴 구조체 s의 기록란 기록란의 값을 얻습니다.
s가 구조체 배열이면 구조체_색인은 구조체 배열 원소를 선택하며, 기록란은 선택한
원소의 기록란 이름을 지정하고, 기록란_색인은 기록란의 원소(배열 또는 낱칸 배열인 경우)를 선택합니다. 구문에 대한 보다
완전한 기술을 setfield
에서 보십시오.
같이 보기: setfield, rmfield, orderfields, isfield, fieldnames, isstruct, struct.
기록란 f를 제거한 채로 구조체(배열) s의 사본을 반환합니다.
f가 낱칸 배열인 문자열이거나 문자 배열이면, 해당 이름인 기록란를 모두 제거합니다.
같이 보기: orderfields, fieldnames, isfield.
s1의 기록란을 가나다순으로 정렬하거나 두 번째 매개변수에 지정한 대로 처리한 사본을 반환합니다.
매개변수가 s1 하나이면, 기록란을 가나다순으로 정렬합니다.
두 번째 구조체 매개변수가 주어지면, s1의 기록란 이름을 s2에 나온 대로 정렬합니다. 두 번째 매개변수를 낱칸 배열인 문자열 낱칸_배열로 지정하여, 그 순서대로 정렬할 수도 있습니다. 두 번째 매개변수로 순열 벡터를 사용하여도 됩니다.
두 번째 선택 출력 매개변수인 p는 원본 이름 순서를 새 이름 순서로 바꾸는 순열 벡터입니다.
예시:
s = struct ("d", 4, "b", 2, "a", 1, "c", 3); t1 = orderfields (s) ⇒ t1 = scalar structure containing the fields: a = 1 b = 2 c = 3 d = 4
t = struct ("d", {}, "c", {}, "b", {}, "a", {}); t2 = orderfields (s, t) ⇒ t2 = scalar structure containing the fields: d = 4 c = 3 b = 2 a = 1
t3 = orderfields (s, [3, 2, 4, 1]) ⇒ t3 = scalar structure containing the fields: a = 1 b = 2 c = 3 d = 4
[t4, p] = orderfields (s, {"d", "c", "b", "a"}) ⇒ t4 = scalar structure containing the fields: d = 4 c = 3 b = 2 a = 1 p = 1 4 2 3
같이 보기: fieldnames, getfield, setfield, rmfield, isfield, isstruct, struct.
subsref
와 subsasgn
에 사용하기 위한 예약 구조체를 만듭니다.
For example:
idx = substruct ("()", {3, ":"}) ⇒ idx = scalar structure containing the fields: type = () subs = { [1,1] = 3 [1,2] = : } x = [1, 2, 3; 4, 5, 6; 7, 8, 9]; subsref (x, idx) ⇒ 7 8 9
다음: 구조체 내 자료 처리하기, 이전: 구조체 만들기, 상위 문서: 구조체 [차례][찾아보기]