Luaのテーブルには、ライブラリの一般的な機能をまとめたもの

https://www.cnblogs.com/daochong/p/7363649.html

テーブルは:データLuaの言語の重要な種類である、単純なテーブルの特性のいくつかを以下に示す 
(1); .table「連想配列」配列のインデックス番号または文字列であってもよいです 
(2).tableデフォルトの初期指標は、一般に1を始める; 
.table変数テーブルの動作はデータに影響を与えないであろう、アドレスだけ参照(3)、 
(4)固定長.tableサイズではなく、自動的に新しいデータの挿入の長さが増加します; 
(5).table全てのインデックス値が必要とされている「[」と「]」囲まれ、文字列場合、また、引用符の括弧を除去する工程と、[]で囲まれていない場合、すなわち、それは、文字列インデックスに考えられています。 
(6)すべての要素のうち.table、常にカンマで「」分離。

LUAは、例えば、テーブルを操作挿入、等を除去するために、いくつかのヘルパー関数を提供します。 
------------------------------------ %% 
1、table.insertとtable.remove 
table.insert要素は、指定された位置に挿入されます。 
例1:

t = {1, 2, 3} table.insert(t, 1, 4}
  • 1
  • 2
  • 1
  • 2

結果は、T {4、1、2、3}になり 
例2:

t={};
table.insert(t,"a");
table.insert(t,"b"); table.insert(t,"c");
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

結果は: 

1: 
2:B 
3:C 

アレイの端部は、そのように他の要素を移動させることなく、挿入されるように、第2のパラメータをインサートは、省略してもよいです。 
同様に、table.removeを除去(及び裏面)要素の、table.remove(T、1)T、アレイからインデックス1で配列要素を削除除去位置が指定されていない場合、最後に除去することですA。 
%------------------------------------%

2、table.sort() 
別の有用な機能は、ソート機能が提供されない場合、デフォルトは<動作である、配列をソートし、ソートです。ここ数だけでなく、効果的な文字列だけではなく。 
例1

a = {1,3,2,6,4,8,7,5} print('排序前:',a) table.sort(a) print('排序后:',a)
  • 1
  • 2
  • 1
  • 2

結果: 
フロント分類: 

1: 
2:3 
3:2 
4:6 
5:4 
6 8 
7:7 
8:5 

ソート: 

1: 
2:2 
3:3 
4:4 
5:5 
6:6 
7:7 
8:8 

実施例2:

name = {"you" ,"me", "him","bill" } --table.sort - only works with arrays! table.sort(name) for k, v in ipairs( name) do print( k,v) end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

結果は以下の通りである: 
1ビル 
2 HIM 
3 Meは。 
4あなた。 
%------------------------------------%

。3、table.concat() 
形式:(9月表、開始、終了)table.concat 
アレイのテーブル部分の終了位置に開始位置からすべての要素に列挙されたパラメータで指定された連結()関数、要素間のセパレータを指定します(9月に)文字離れて。他のパラメータは必要でない、デフォルト値はヌル文字の区切りで、開始のデフォルト値は1で表に加えて、配列の全長のデフォルト値は、端部です。 
例えば:

spring = {"众里寻他千百度", "蓦然回首", "那人却在灯火阑珊处"} print('一:',table.concat(spring, ",")) print('二:',table.concat(spring, ",",1,2)) print('三:\n',table.concat(spring, "\n",1,3)) num = {1 ,2, 3,4,5 ,6} print('大小比较:',table.concat (num ,"<"))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

:次のような結果がある 
:私は振り返ったときにはBaiduの彼女の何千もの痕跡は、その人は薄暗い光の中ではありません 
2:彼女のBaiduのトレースの彼女の何千人も、私は振り返る 
3: 
人々は彼のBaiduの何千人を探し 
、私は振り返るとき、 
その人は薄暗い光の中でされた 
サイズを比較します。 1 <2 
<3 <4 <5〜<6%------------------------------------%

。4、table.maxn() 
意味:table.maxn()関数は、テーブルキーの最大キー値内のすべての正の値の数を返します。要素が正の数のキーが存在しない場合には、0が返されます。この関数は、テーブルのアレイ部分に限定されるものではありません。 
例1:

cc = { 0.2654,0.0109,  0.3575, 0.8749, 0.4324,0.1932} print(cc) key = table.maxn(cc) print('最大的key值为:',key)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

結果: 

1:0.2654 
2:0.0109 
3:0.3575 
4:0.8749 
5:0.4324 
:0.1932 6 

キーの最大値:6 
例2:

apple = {"a" ,"p",[5]="e"} print(table.maxn(apple)) duck = {[-2]=3,[-1]=0} print(table.maxn(duck)) 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

結果は以下の通りである: 


%------------------------------------%

。5、table.getn() 
意味:表内の要素の数を返す 
例:

t1 = {1, 2, 3, 5} print(getn(t1))
  • 1
  • 2
  • 1
  • 2

結果:4 
%------------------------------------%

。6、Table.Pack()とtable.unpack() 
Table.Pack関数は、パラメータテーブルを開始テーブルからインデックスを取得することであり、テーブルは、テーブルの長さをあらかじめ定義されたフィールドnを有することになります。 
例えば:

t = table.pack("test", "param1", "param2", "param3") print(t)
  • 1
  • 2
  • 1
  • 2

結果: 

1:実験 
2:PARAM1 
。3:PARAM2 
。4:Param3 
N- :. 4 

table.unpack機能テーブル、使用中の要素を返す:table.unpack(テーブル、開始、終了 )、 パラメータは開始に戻る開始されます要素の位置は、デフォルトは1であり、パラメータはオプションであり、デフォルトは、表、パラメータ開始、終了の最後の要素であり、最後の要素がエンド位置で戻り 
例:

t = {"Lua", "C++", "Python", "Java"} print('(1):\n',t) print('(2):',table.unpack(t)) a, b, c, d = table.unpack(t) print('(3):',b) print('(4):',a, b, c, d) print('(5):',table.unpack(t, 2)) print('(6):',table.unpack(t, 2, 3))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

結果は以下の通りである: 
(1): 

1:ルア 
2:C ++ 
。3:  パイソン 
4:  ジャワ 

(2):LuaのC ++  のPython  のJava 
(3):C ++ 
(4):LuaのC ++のPythonのJava 
(5):C ++のPythonのJava 
(6):C ++のPython

おすすめ

転載: www.cnblogs.com/nafio/p/11511225.html