行、列、および各列変数の数値サイズを指定して、テーブルの値を取得しようとしています。
例えば:
getValue(row = 5, column = 1, column_variable_sizes = [3,2])
戻るだろう
1
これは、関数が戻り値を取得するために「生成」しているテーブルです。実際にはテーブル全体 (戻り値のみ) を生成する必要はなく、テーブルはデータ構造で表されません。
column
row | 0 1
---------------
0 | 0 0
1 | 0 1
2 | 1 0
3 | 1 1
4 | 2 0
5 | 2 1*
わかりやすいように、戻り値の横に * が付いています。
getValue 関数の書き方に関するアイデアはありますか?
ありがとう
EDIT : の呼び出しの別の例getValue()
getValue(row = 7, column = 2, column_variable_sizes = [3,2,3,2])
戻るだろう
0
column
row | 0 1 2 3
--------------------
0 | 0 0 0 0
1 | 0 0 0 1
2 | 0 0 1 0
3 | 0 0 1 1
4 | 0 0 2 0
5 | 0 0 2 1
6 | 0 1 0 0
7 | 0 1 0* 1
8 | 0 1 1 0
9 | 0 1 1 1
10 | 0 1 2 0
11 | 0 1 2 1
... | ... ... ... ...
繰り返しますが、テーブル自体は存在しません。返される値のみが関数によって生成されます。
column_variable_sizes
各列変数のドメインのカーディナリティを参照します。
たとえば、[3,2,3,2] は次のことを意味します。
- 列 0 の変数は 3 つの値 (0、1、2) を持つことができます
- 列 1 の変数は 2 つの値 (0 ,1) を持つことができます
- 列 2 の変数は 3 つの値 (0、1、2) を持つことができます
- 列 3 の変数は 2 つの値 (0、1) を持つことができます