Jump to content

Как получить кол-во столбцов в массиве?


Recommended Posts

не совсем понял с

for k,v in pairs (Massiv) do print (k) end 

.

Ну не столбцов, а кол-во строк.

Вобщем как мне в переменную какую нибудь записать кол-во этих столбцов/строк/элементов в массиве?

Link to comment
  
local Massiv = { 
    {"1"}, 
    {"2"}, 
    {"3"}, 
} 
print( #Massiv ) -- 3 

Вобщем как мне в переменную какую нибудь записать кол-во этих столбцов/строк/элементов в массиве?

В чём проблема?

  
local tOne =  
{ 
    { '1' }; 
    { '2' }; 
    { '3' }; 
} 
  
local t = { } 
for i = 1, #tOne do 
    t[ i ] = #tOne[ i ] 
end 
print( unpack( t ) ) -- 1 1 1 

local tOne =  
{ 
    {  
        '1'; 
        '2'; 
    }; 
    {  
        '2';  
        '1'; 
        '3'; 
    }; 
    {  
        '3';  
    }; 
} 
  
local t = { } 
for i = 1, #tOne do 
    t[ i ] = #tOne[ i ] 
end 
print( unpack( t ) ) -- 2 3 1 

Также юзай функцию table.size ( не только для числовых индексов ).

local tOne =  
{ 
    { ['a'] = '1'; ['b'] = 2; ['c'] = 3 }; 
    { [1] = '2'; [2] = 2 }; 
    { [4] = '3' }; 
} 
  
function table.size( t ) 
    if type( t ) ~= 'table' then 
        return false  
    end 
    local n = 0 
    for _ in pairs( t ) do 
        n = n + 1 
    end 
    return n 
end 
  
local t = { } 
for _, v in pairs( tOne ) do 
    t[ #t + 1 ] = table.size( v ) 
end 
print( unpack( t ) ) -- 3 2 1 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...