เปเปเบฒ เบงเบฝเบ:
เบกเบต PC เบเบตเปเบเปเปเบกเบตเบญเบดเบเปเบเบตเปเบเบฑเบ, เปเบเปเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบญเบเปเบเบฅเปเบเปเบฒเบ USB. เบกเบตเปเบเบฑเบเปเบฅเบฑเบเบเบตเปเบกเบตเบญเบดเบเปเบเบตเปเบเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเปเบญเบเปเบเบฅเปเบเบตเปเปเบเป. เบเปเบฒเบโเบชเบฒโเบกเบฒเบโเบเบฒเบงโเบโเปโเปเบซเบฅเบ torrent เบเบตเปโเบเปเบญเบโเบเบฒเบโเปเบโเปเบเบฑเบโเปเบฅเบฑเบโเบเบญเบโเบเปเบฒเบโ, เปเบเปโเบงเปเบฒโเบเปเปโเบกเบตโเบเปเบญเบโเบซเบงเปเบฒเบโเบเบฝเบโเบเปโ. เปเบเบฅเปเปเบ torrent เปเบกเปเบเบซเบเบถเปเบเปเบฅเบฐเบเบฐเบซเบเบฒเบเปเบซเบเป.
เปเบชเบฑเปเบโเบเบฒเบโเปเบเปโเปเบโ:
เบเปเบญเบเปเบฅเบตเปเบก torrent เปเบเบทเปเบญเบเบฒเบงเปเบซเบฅเบ. เปเบกเบทเปเบญเบเบทเปเบเบเบตเปเบซเบงเปเบฒเบเปเบเบทเบญเบเปเบปเบเปเบ, เบเปเบญเบเบขเบธเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเปเบงเปเบเบปเปเบงเบเบฒเบง. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเปเบเบทเปเบญเบกโเบเปเปโเปเบกเบฑเบโเบเบฑเบ PC เปเบฅเบฐโเบเปเบฒเบโเปเบเบฅโเปโเบเบฒเบโเบขเบฒโเปเบกเบฑเบโเบเบฑเบ PC เปเบเปโ. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบขเบธเบโเปเบเบปเบฒโเบเบฒเบโเปเบฅเบฐโเบเบงเบฒเบกโเปเบเบโเปเบโเบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเบฅโเปโเปเบเปโเบเบทเบโเบชเปเบฒเบโเบเบฑเปเบโเบเบถเปเบโเบญเบตเบโเปเบเบทเปเบญโเบซเบเบถเปเบโเปเบฅเบฐ torrent เปเบเปโเบชเบทเบโเบเปเปโเบเบฒเบงโเปเบซเบผเบโเปเบเบฑเบโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเปโเบกเบตโเบซเบเบฑเบโเปเบเบตเบโเบเบถเปเบโ.
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบฅเบนเบเบเปเบฒ torrent เบเปเบฒเบเบปเบเบเบธเบ sparse เบเบฑเบเปเบเบฅเปเบเบตเปเบกเบฑเบเบเบฝเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบ, เบฅเบฐเบเบปเบเบเปเปเปเบเปเบเบฐเบเบฒเบเบฒเบกเบเบญเบ 16GB เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฐเบเปเปเปเบเบตเบเบเบถเปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบฒเบเบฒเบกเบเบฝเบเปเบเบฅเปเปเบเบตเบ 4GB.
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเปเบฎเบฑเบโเปเบฅโเบทเปเบกโเบเบทเบโเบเบฑเปเบโเบเบญเบโเบชเบตเปโเบเบฑเปเบโ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบฎเบฑเบโเบชเบตเปโเปเบเบฅโเปโเปเบ PC เบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบตเปโเบกเบตโเบเบฒเบโเบชเปเบงเบโเบเบตเปโเปเบเบโเบเปเบฒเบโเบเบฑเบโเบเบญเบ torrent เบเบฝเบงโเบเบฑเบโ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเปเบเบทเปเบญเปเบซเปเบเบงเบเปเบเบปเบฒเบฎเปเบงเบกเบเบฑเบ. เบเบฑเปเบเบเบญเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบ. เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบปเบเปเบเบเบชเบนเบ bytes เบเปเบงเบเบเปเบฒเบญเบทเปเบเบเปเบฒเบกเบฑเบเบกเบตเบขเบนเปเปเบเบเปเบฒเปเบซเบเปเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบซเบเบถเปเบเปเบเบชเบตเปเปเบเบฅเป.
เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเบงเปเบฒเปเบเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบเบงเบเบเบฐเบขเบนเปเปเบเบญเบดเบเปเบเบตเปเบเบฑเบ. เบเปเปเบกเบตเปเบเปเบเบตเบเบเบปเบเบเบฑเบเบซเบฒเบเบฑเปเบเบเปเบฒเบงเบเป? เปเบเปเบเปเบญเบเบฎเบนเปเบงเปเบฒเบเปเบญเบเบเปเปเบฎเบนเปเบงเปเบฒเบเปเบฒเบซเบฅเบฑเบเปเบเบเบตเปเบเบฐเบเบปเปเบเบซเบฒเบกเบฑเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบชเปเบฒเบเบชเบฐเบเบดเบ Lua เบขเปเบฒเบเปเบงเบงเบฒเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเปเบฅเบฐเบเบญเบเบเบตเปเบเปเบญเบเปเบเปเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบกเบฑเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเปเบญเบเบเปเบญเบเบเบฒเบเปเบเปเบเบเบฑเบ.
เบเบฒเบโเบเบฒเบงโเปเบซเบผเบ torrent เปเบโเบเบฒเบโเบชเปเบงเบโ
- เปเบฅเบตเปเบกเบเบฒเบเบเบฒเบงเปเบซเบผเบ torrent เปเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบญเบดเบ
- เบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒ ROM เปเบเบฑเบก
- เบขเบธเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเปเบงเปเบเบปเปเบงเบเบฒเบง
- เปเบญเบเปเบเบฅเปเปเบเบซเบฒเบญเบธเบเบฐเบเบญเบเบเบตเบชเบญเบเปเบฅเบฐเปเบเบตเปเบกเบเบปเบงเปเบฅเบเปเบชเปเบเบทเปเปเบเบฅเป
- เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบทเบเปเบเบซเบฒเบเบธเบเบเปเบฒเบญเบดเบเบเบปเบเบเปเบงเบฒเปเบเบฅเปเบเบทเบเบเบฒเบงเปเบซเบผเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ
เบฅเบงเบกเบเบฒเบเบชเปเบงเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฅเปเบเบฝเบง
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบชเปเบงเบเบชเบธเบเบเปเบฒเบเปเบเปเบฎเบฑเบเปเบฅเปเบง, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบฑเบเบเบงเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเปเบญเบเบฐเบชเบฒเบเบเบฑเบเบซเบกเบปเบ.
เบงเบฝเบโเบเบฒเบโเปเบกเปเบโเบเปเบฒเบโเบเบฒเบโ:
- เบเบฒเบโเบญเปเบฒเบโเบเบธเบโเบเบฒเบโเบชเปเบงเบโเปเบโเปเบงโเบฅเบฒโเบเบฝเบงโ
- เบเปเบฒเบขเบนเปเปเบเบเบฒเบเบชเปเบงเบเบเปเบฒเปเบซเบเปเบเบเปเปเปเบกเปเบเบชเบนเบ byte, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบกเบฑเบเปเบชเปเบเบปเบเบเบฐเบฅเบดเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบชเบนเบ.
เบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบ merge_part
เบเบญเบกเบฎเบฑเบ array เบเบญเบเบเบฐเบเบนเป streams_in
เบเบถเปเบเปเบเบเบฑเปเบเบญเปเบฒเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเบฐเบซเบเบฒเบ buffer_length
เปเบฅเบฐเบชเบปเปเบเบเบทเบเบเบปเบเบเบญเบเบเบฒเบเบฅเบงเบกเบเบฒเบเบชเปเบงเบเบเบฒเบเบเบฐเบเบนเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
function merge_part(streams_in, buffer_length)
local out_part
for _, stream in ipairs(streams_in) do
local in_part = stream:read(buffer_length)
if not out_part then
out_part = in_part -- ะฟัะพััะพ ะบะพะฟะธััะตะผ ัะฐััั ะธะท ะฟะตัะฒะพะณะพ ัะฐะนะปะฐ
elseif in_part and #in_part > 0 then
if #out_part < #in_part then
out_part, in_part = in_part, out_part
end
if out_part ~= in_part -- ะดะฐะฝะฝัะต ัะฐะทะปะธัะฐัััั
and in_part:find("[^ ]") -- ะตััั ะดะฐะฝะฝัะต ะฒ in_part
and out_part:find(" ", 1, true) -- ะตััั ะฟััััะต ะผะตััะฐ ะฒ out_part
then
local find_index = 1
--[[
เบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบ string.gsub
เปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบฑเบเบเบฐเบเบญเบเบซเบฒเบเปเบญเบเบเบตเปเปเบเบฑเบกเปเบเบเปเบงเบเบชเบนเบเปเบฅเบฐเบชเบปเปเบเบชเบดเปเบเบเบตเปเปเบซเปเบกเบฑเบ.
--]]
out_part = out_part:gsub(" +", function(zero_string)
if #in_part < find_index then
return -- ะฝะต ะฝะฐ ััะพ ะผะตะฝััั
end
--[[
string.gsub
เบเปเปเปเบเปเบเบปเปเบเบเบญเบเบเปเบฒเปเบซเบเปเบเบเบตเปเบเบปเบเบเบฒเบเปเบเปเบเบเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบเบฒเบเบเบปเปเบเบซเบฒเบเบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเปเบซเบเปเบ zero_string
เบเบฒเบโเบเปเบฒโเปเบเปโเบซเบเปเบฒโเบเบตเปโ string.find
. เบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเบเบญเบเบซเบฒเบชเบนเบ byte เบเปเบฒเบญเบดเบ.
--]]
local start_index = out_part:find(" ", find_index, true)
find_index = start_index + #zero_string
--[[
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบขเบนเปเปเบ in_part
เบกเบตเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบ out_part
เบชเบณเปเบเบปเบฒเบเบงเบเบกเบฑเบ.
--]]
if #in_part >= start_index then
local end_index = start_index + #zero_string - 1
--[[
เบเบฑเบเบเบฒเบ in_part
เบชเปเบงเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบญเบเบชเบนเบ.
--]]
local part = in_part:sub(start_index, end_index)
if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[
ะ part
เบกเบตเบเปเปเบกเบนเบ.
--]]
if #part == #zero_string then
return part
else
--[[
part
เบเบฒเบเปเบเบฑเบเปเปเบญเบเบเบงเปเบฒเบฅเปเบฒเบเบฑเบเบเบญเบเบชเบนเบ. เปเบซเปเบเบญเบเปเบชเบตเบกเบกเบฑเบเบเบฑเบเปเบเบปเบฒเปเบเบปเปเบฒ.
--]]
return part..zero_string:sub(1, end_index - #in_part)
end
end
end
end)
end
end
end
return out_part
end
เบชเบฐเบซเบฅเบธเบ
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฒเบงเปเบซเบฅเบเปเบฅเบฐเบเบฐเบเบญเบเปเบเบฅเปเบเบตเปเบขเบนเปเปเบ PC. เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบฅเบงเบกโเบเบปเบงโ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบถเบโเบญเบญเบโเปเบเบฅโเป torrent เบเบฒเบโเบขเบฒโเปเบกเบฑเบโ. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบดเบโเบเบฑเปเบโเบฅเบนเบโเบเปเบฒ torrent เปเบ PC เบเบญเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบฅเบฐโเบเบงเบโเบชเบญเบโเปเบเบฅโเปโเบเบฑเบโเบกเบฑเบโ.
เบเบฒเบเบชเปเบงเบเบเบตเปเบเบฒเบงเปเบซเบฅเบเบซเบผเปเบฒเบชเบธเบเปเบเปเบเบฑเบเปเบฅเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเบฐเปเบงเปเบขเบนเปเปเบเบเบฒเบเปเบเบเบขเบฒเบ, เปเบเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเบเปเบเปเบเบฒเบเบเบงเบเบชเบญเบเบเบดเปเบเบชเปเบงเบเบเบทเบเปเบซเบกเปเบเปเบญเบเบเบตเปเปเบฅเบฐเบเบปเบเปเบฅเบตเบเบเบฒเบเบเบงเบเบชเบญเบเปเบเบฅเปเปเบเบทเปเบญเบเปเปเปเบซเปเบเบฒเบงเปเบซเบฅเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
เปเบเป:
- เบฅเบนเบเบเปเบฒ torrent Flud เปเบเปเบเบฑเบเปเบฅเบฑเบ.
- เบฅเบนเบเบเปเบฒ torrent qBittorent เปเบ PC.
Lua script
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com