색상을 배열로 변환할 수 있나요?

색상을 배열로 변환할 수 있나요?

이 매크로를 color사용하여 s를 배열로 변환할 수 있는지 알아내려고 노력 중입니다.{red|green|blue}part

vardef arrayFromColors(suffix $)(text c) =
  save i_ ; i_ = 0 ;
  numeric $[][] ;
  for i = c:
    for j = 0 upto 2:
      if     j = 0: $[i_][j] = redpart   i ;
      elseif j = 1: $[i_][j] = greenpart i ;
      else:         $[i_][j] = bluepart  i ;
      fi
    endfor ;
    i_ := i_+1 ;
  endfor ;
enddef ;

그런 식으로 사용되는 것

arrayFromColors(A)((0,1,2),(3,4,5));

하지만 항상 다음 오류로 인해 실패합니다.

메타펀 > 로그 > 오류: 구현되지 않음: 십진수(알 수 없는 숫자)

그렇다면 colors를 그런 배열로 변환하는 것이 가능할까요?

답변1

신경쓰지 마세요. 무엇이 잘못되었는지 찾았습니다.

A[1]예를 들어 를 사용하여 전체 배열을 인쇄하려고 시도했지만 컴파일 로그에서 전체 배열을 인쇄할 수 없는 message것 같습니다 .message

직접 선언한 다른 배열을 사용해 확인해 보았습니다.

numeric a[] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 30 ;
message a ;

그리고 같은 오류로 실패합니다

메타펀 > 로그 > 오류: 구현되지 않음: 십진수(알 수 없는 숫자)

도.

A[1][1]그러나 예를 들어 값을 하나씩 액세스할 때 내 질문의 작은 코드 조각을 사용하여 message값을 올바르게 인쇄합니다 .4

관련 정보