Estou tentando descobrir se é possível converter color
s em arrays com {red|green|blue}part
esta macro
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 ;
que é usado assim
arrayFromColors(A)((0,1,2),(3,4,5));
mas sempre falha com este erro:
metafun > log > erro: Não implementado: decimal (numérico desconhecido)
Então, é possível converter color
s em arrays assim?
Responder1
Deixa pra lá, descobri o que estava errado.
Tentei imprimir um array completo, A[1]
por exemplo, com message
, mas parece que message
não consigo imprimir um array completo no log de compilação.
Tentei com outro array, declarado manualmente, para verificar
numeric a[] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 30 ;
message a ;
e falha com o mesmo erro
metafun > log > erro: Não implementado: decimal (numérico desconhecido)
também.
Porém, ao acessar os valores um por um, A[1][1]
por exemplo, message
imprime corretamente o valor 4
como deveria estar com o pequeno trecho de código da minha pergunta.