이 매크로를 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));
하지만 항상 다음 오류로 인해 실패합니다.
메타펀 > 로그 > 오류: 구현되지 않음: 십진수(알 수 없는 숫자)
그렇다면 color
s를 그런 배열로 변환하는 것이 가능할까요?
답변1
신경쓰지 마세요. 무엇이 잘못되었는지 찾았습니다.
A[1]
예를 들어 를 사용하여 전체 배열을 인쇄하려고 시도했지만 컴파일 로그에서 전체 배열을 인쇄할 수 없는 message
것 같습니다 .message
직접 선언한 다른 배열을 사용해 확인해 보았습니다.
numeric a[] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 30 ;
message a ;
그리고 같은 오류로 실패합니다
메타펀 > 로그 > 오류: 구현되지 않음: 십진수(알 수 없는 숫자)
도.
A[1][1]
그러나 예를 들어 값을 하나씩 액세스할 때 내 질문의 작은 코드 조각을 사용하여 message
값을 올바르게 인쇄합니다 .4