色を配列に変換することは可能ですか?

色を配列に変換することは可能ですか?

このマクロを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));

しかし、常に次のエラーで失敗します:

metafun > ログ > エラー: 実装されていません: 小数点(不明な数値)

colorでは、そのように s を配列に変換することは可能でしょうか?

答え1

気にしないでください。何が問題なのか分かりました。

A[1]たとえば、 を使用して完全な配列を印刷しようとしましたmessageが、messageコンパイル ログに完全な配列を印刷できないようです。

手動で宣言した別の配列で確認してみました

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

そして同じエラーで失敗する

metafun > ログ > エラー: 実装されていません: 小数点(不明な数値)

あまりにも。

A[1][1]ただし、たとえば値に 1 つずつアクセスする場合、私の質問の小さなコードでは、message値が正しく印刷されます。4

関連情報