¿Es posible convertir el color en una matriz?

¿Es posible convertir el color en una matriz?

Estoy tratando de averiguar si es posible convertir colors en matrices con {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 se usa asi

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

pero siempre falla con este error:

metafun > log > error: No implementado: decimal (numérico desconocido)

Entonces, ¿es posible convertir colors en matrices como esa?

Respuesta1

No importa, encontré lo que estaba mal.

Intenté imprimir una matriz completa, A[1]por ejemplo, con message, pero parece que messageno puedo imprimir una matriz completa en el registro de compilación.

Probé con otra matriz, declarada a mano, para comprobar

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

y falla con el mismo error

metafun > log > error: No implementado: decimal (numérico desconocido)

también.

Sin embargo, al acceder a los valores uno por uno, A[1][1]por ejemplo, messageimprime correctamente el valor 4como debería ser con el pequeño fragmento de código de mi pregunta.

información relacionada