Модул:арраy/док

Ово је документациона подстраница за Модул:array

Ретурнс ан арраy цонструцтор тхат продуцес а табле тхат хас а нумбер оф фунцтионс аваилабле ас метходс: тхе table либрарy фунцтионс, анд вариоус ванилла Луа фунцтионс анд фунцтионс фром Модуле:табле анд Модуле:фун тхат операте он арраyс ор он таблес wитх интегер кеyс.

local Array = require("Module:array")
local nums = Array() -- or Array:new()
nums:type() --> "array"
for i = 1, 5 do
	nums:insert(i)
end
nums:concat(", ") --> "1, 2, 3, 4, 5"

local squares = nums:map(function (num) return num ^ 2 end) -- Returns new array.
squares:concat(', ') --> "1, 4, 9, 16, 25"

local even_squares = squares:filter(function (square) return square % 2 == 0 end)
even_squares:concat(", ") --> "4, 16"

Тхе фунцтионс фром Модуле:табле анд Модуле:фун аре лоадед ас неедед.

Фунцтионс фром Модуле:табле:

  • compressSparseArray (алиас compress), contains, invert, isArray, length, listToSet (алиас toSet), maxIndex, numKeys, removeDuplicates, reverse, reverseIpairs, serialCommaJoin, sparseIpairs

Фунцтионс фром Модуле:фун. Тхесе хаве а фунцтион ас тхе сецонд аргумент (фирст аргумент оф метход):

  • all, filter, fold, map, some

Тхесе фунцтионс аре инцлудед ин а funcs субтабле оф ан арраy (аwкwард):

  • affixNums, keysToList, numKeys

Тхе фоллоwинг фунцтионс ретурн ан арраy (wитх тхе арраy метатабле):

  • affixNums, compressSparseArray, keysToList, numKeys, removeDuplicates, reverse

Тхе намес wитх ундерсцорес инстеад оф цамел цасе цан бе усед ас алиасес: фор инстанце, arr:to_set() инстеад оф arr:toSet().

Тхе арраy цонструцтор бехавес дифферентлy депендинг он тхе аргументс супплиед то ит. Wитхоут аргументс, ит цреатес ан емптy табле. Гивен а сингле табле, ит аддс тхе метатабле то ит. Иф тхе табле хас беен лоадед wитх mw.loadData, ит дуплицатес тхе табле, ремовинг тхе метатабле тхат ис фоунд ин таблес лоадед wитх mw.loadData. Отхерwисе, ит цреатес а неw табле (арраy) цонтаининг тхе аргументс.

Тхе арраy цонструцтор доес тхис бy аддинг а метатабле. Тхис ис симилар то хоw алл стрингс хаве а метатабле тхат аллоwс тхе string либрарy фунцтионс то бе усед ас метходс: фор инстанце, ("abc"):sub(1, 1) фор string.sub("abc", 1, 1).