on deck class
function deck.new() -- data -- deck.card\_list={} -- logic -- for suit=1, 4 do for number=1, 13 do table.insert(deck.card\_list, card\_t.new(main,suit\_list[suit],number,0,0)) print("1.deck suite", suit\_list[suit]) //OK print("2.deck number", number) //OK end end return setmetatable(deck, deck\_mt) end
on main
local deck=deck\_t.new() print("1 - deck", deck ) //1 - deck table: 0x60800126adc0 local random\_number=math.random(#deck.card\_list) print("2 - random\_number", random\_number ) //2 - random\_number 5 print("3 - deck.card\_list", deck.card\_list ) //3 - deck.card\_list table: 0x600001078dc0 print("4 - deck.card\_list[random\_number]", deck.card\_list[random\_number] ) //4 - deck.card\_list[random\_number] table: 0x608001678180 local deckstring=tostring(deck.card\_list[random\_number]) print("4'' - deckstring", deckstring) //4'' - deckstring table: 0x608001678180 print("5 - string.sub(deck.card\_list[random\_number],2,3)", string.sub(deckstring,2,3) ) //5 - string.sub(deck.card\_list[random\_number],2,3) ab local cardNumber = tonumber(string.sub(deck.card\_list[random\_number],2,3)) print("6 - deck.card\_list", deck.card\_list ) print("7 - deck.card\_list[random\_number]", deck.card\_list[random\_number] ) print("8 - string.sub(deck.card\_list[random\_number],1,1)", string.sub(deck.card\_list[random\_number],1,1) ) local cardSuit = string.sub(deck.card\_list[random\_number],1,1) print("9 - cardSuit", cardSuit )
//problem stands on number 5 -> prints “ab”