다음: 문자열 만들기, 이전: 문자열 상수 제어 문자, 상위 문서: 문자열   [차례][찾아보기]


5.2 문자 배열

옥타브에서 문자열은 문자의 배열로 표현되어 "dddddddddd"가 내부에서 실제로는 모든 원소가 100인 행 길이 10짜리 행 벡터입니다.("d"의 미국정보교환표준부호가 100임) 이는 명백하게 문자열을 문자 행렬로 일반화할 수 있음을 나타냅니다. 문자 행렬을 사용하면 변수 한 개에 같은 길이인 문자열 모음을 표현할 수 있습니다. 옥타브의 규칙에서 문자 행렬의 각 행은 개별 문자열이나 각 열은 문자열 한 개를 표현합니다.

문자 행렬은 만드는 가장 쉬운 방법은 여러 문자열을 행렬에 넣는 것입니다.

collection = [ "String #1"; "String #2" ];

위 표현식은 2×9 문자 행렬을 만듭니다.

ischar 함수는 객체가 문자 행렬일 때도 사용 가능합니다.

ischar (가로)

가로가 문자 배열이면 참을 반환합니다.

같이 보기: isfloat, isinteger, islogical, isnumeric, isstring, iscellstr, isa.

isstring (s)

s가 문자열 배열이면 참을 반환합니다.

문자열 배열은 배열의 각 원소에 문자열(문자 행 벡터)을 저장한 자료형입니다. 문자열 배열은 각 원소가 1x1짜리 홑문자인 다차원 배열인 문자 배열과 명백히 다릅니다. 각 원소에 문자열을 저장하기는 하나, 원소 접근에서 문자열 배열이 평범하게 배열 탐색에  ‘()’ 사용하는 것과 달리 낱칸 탐색에 ‘{}’을 사용하는 문자열의 낱칸 배열과도 다릅니다.

풀그림 짜기 안내: 옥타브에 아직 문자열 배열이 작동하지 않기 때문에, 이 함수는 언제나 거짓을 반환합니다.

같이 보기: ischar, iscellstr, isfloat, isinteger, islogical, isnumeric, isa.

확인하려면, 객체가 문자열(예: 문자 행렬이 아닌 1xN짜리 문자 행 벡터)이면서 ischar 함수를 isrow 함수와 함께 아래와 같이 사용하면 됩니다.

ischar (collection)
     ⇒ 1

ischar (collection) && isrow (collection)
     ⇒ 0

ischar ("my string") && isrow ("my string")
     ⇒ 1

관련한 궁금점은 서로 다른 길이의 문자열로 문자 행렬을 만들면 어떻게 되냐는 것입니다. 답은 짧은 문자열 끝에 공백 문자를 넣는 것입니다. 이때 사용하는 공백 문자는 string_fill_char 함수에서 사용하는 공백 문자와 다를 수 있습니다.

= string_fill_char ()
옛_값 = string_fill_char (새_값)
string_fill_char (새_값, "local")

문자 행렬의 모든 행 길이를 맞추는 데에 사용하는 내부 변수를 조회 또는 설정합니다.

값은 반드시 문자 한 개이어야 하며, 기본 값은 " "(띄어쓰기 한 번)입니다. 예시입니다.

string_fill_char ("X");
[ "these"; "are"; "strings" ]
      ⇒  "theseXX"
          "areXXXX"
          "strings"

함수 안에서 "local" 선택지를 넣어 부르면, 함수와 함수가 부른 종속 절차의 변수가 지역적으로 바뀝니다. 함수가 종료되면 원래 변숫값이 되돌아옵니다.

본문은 문자 행렬의 문제를 보여줍니다. 간단하게, 서로 다른 길이의 문자열을 표현할 수 없다는 것입니다. 해결 방법은 문자열의 낱칸 배열을 사용하는 것이며, 관련 기술은 낱칸 배열인 문자열에 있습니다.


다음: 문자열 만들기, 이전: 문자열 상수 제어 문자, 상위 문서: 문자열   [차례][찾아보기]