3

#table_name0以外の値を返すのはいつですか? 繰り返しますが、table.getn(table_name)0 以外の値を返すのはいつですか?

4

2 に答える 2

7

マニュアルを読んでください:

2.5.5 - 長さ演算子

長さ演算子は、単項演算子 # で示されます。文字列の長さはそのバイト数です (つまり、各文字が 1 バイトである場合の文字列の長さの通常の意味)。

テーブル t の長さは、t[n] が nil ではなく、t[n+1] が nil となる任意の整数インデックス n として定義されます。さらに、t[1] が nil の場合、n はゼロになる可能性があります。1 から与えられた n までの nil 以外の値を持つ通常の配列の場合、その長さはちょうど n (最後の値のインデックス) です。配列に「穴」(つまり、他の非 nil 値の間にある nil 値) がある場合、 #t は、nil 値の直前の任意のインデックスにすることができます (つまり、そのような nil 値を末尾と見なすことができます)。アレイの)。

于 2012-05-23T10:44:57.377 に答える
3

テーブル内のキーが整数 (文字列など) でない場合、長さ演算子は 0 を返します。

于 2012-05-25T13:30:24.427 に答える