(Luaノート):table定義、接続、挿入、削除、並べ替え

2702 ワード

目次
Luaテーブルの定義
Table接続、挿入、削除、並べ替え
table接続:table.concat
table挿入:table.insert
table除去:table.remove
tableソート:table.sort

Luaテーブルの定義

  • ケース1:
  • mytable = {}
    
    mytable[1] = "Lua"  -- 
    
    mytable[1] = nil -- 
    
    mytable = nil  -- 
    
  • ケース2:
  • mytable = {}  -- 
    
    print( type(mytable) )  -- table
  • ケース3:
  • mytable = {}
    
    mytable[1] = "Lua"
    mytable["name"]="siki"
    
    newtable = mytable   --newtable mytable , 
    
    print(newtable[1])  --Lua
    print(mytable[1])   --Lua
    
    newtable[1]="C#"
    
    print(newtable[1])   --C#
    print(mytable[1])    --C#
    
    newtable[2]="Java"
    
    print(mytable[2])   --Java
    
    mytable = nil
    print(mytable.name)  --mytable , 
    
    print(newtable.name)  --siki
                          -- , newtable = nil

    Table接続、挿入、削除、並べ替え


    table接続:table.concat

    mytable = {"Lua","C#","Java","C++","C","abc","ABC"}
    
    print( table.concat(mytable) )  -- table 
    
    print( table.concat(mytable,",") ) -- table "," 
    
    print( table.concat(mytable,",",2,4) )  -- table 2 4 "," 
    
     :
    LuaC#JavaC++CabcABC
    Lua,C#,Java,C++,C,abc,ABC
    C#,Java,C++

    table挿入:table.insert

    mytable = {"Lua","C#","Java","C++","C","abc","ABC"}
    
    --mytable[6]="PHP"
    mytable[#mytable+1]="PHP"
    
    print(mytable[#mytable])
    
    table.insert( mytable,"Javascript" )
    
    print(mytable[#mytable])
    
    table.insert(mytable,2,"Boo")
    
    print(mytable[2],mytable[3])
    
     :
    PHP
    Javascript
    Boo	C#

    table除去:table.remove

    mytable = {"Lua","C#","Java","C++","C","abc","ABC"}
    
    mytable[2]=nil
    
    print(mytable[2])
    
    table.remove(mytable,2)
    
    print(mytable[2])
    
     :
    nil
    Java

    tableソート:table.sort

    mytable={34,32,34,2,45,45,435,6,4576}
    
    print(" ")
    
    for k,v in ipairs(mytable) do
    	print(k,v)
    end
    table.sort(mytable)
    print(" ")
    for k,v in ipairs(mytable) do
    	print(k,v)
    end
    
     :
     
    1	34
    2	32
    3	34
    4	2
    5	45
    6	45
    7	435
    8	6
    9	4576
     
    1	2
    2	6
    3	32
    4	34
    5	34
    6	45
    7	45
    8	435
    9	4576