É possível converter cores em array?

É possível converter cores em array?

Estou tentando descobrir se é possível converter colors em arrays com {red|green|blue}partesta 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 colors 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 messagenã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, messageimprime corretamente o valor 4como deveria estar com o pequeno trecho de código da minha pergunta.

informação relacionada