Estoy tratando de averiguar si es posible convertir color
s en matrices con {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 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 color
s 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 message
no 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, message
imprime correctamente el valor 4
como debería ser con el pequeño fragmento de código de mi pregunta.