Xtalの多値と多重代入まとめ

  • 多値と配列は同じである
  • 多重代入のルールと、ブロックパラメータへの代入のルールは同じである
  • 右辺の多値の最後の要素が多値(配列)なら、それは展開される
  • 左辺の値の数が多い場合は、余った左辺をnullで埋る*1
  • 右辺の値の数が多い場合は、余った右辺の値を、左辺最後の変数に配列として纏めて代入する
  • 右辺と左辺の値の数が同じ場合は、そのままそれぞれに代入される
  • 関数が何個の多値を返すのか、ブロックパラメータの個数が何個になるのかは正確に予測できなければならない

*1:これはエラーにするかも。左辺の数が多すぎるということは、あきらかに多値の数の個数を正確に予測できていない