คิว เป็นโครงสร้างข้อมูลที่เป็นลินีย์ด้วยคอลเลกชันของรายการที่ติดตามหลักการของ FIFO หรือการเรียงลำดับตามล
คิวในห้องเก็บข้อมูลเป็นประโยชน์สำหรับการประมวลผลแบบอารีน่าและการเก็บข้อมูลผู้ใช้เช่นระดับทักษะเพื่อให้สามารถจัดการการจับคู่ของผู้ใช้โดย
การรับคิว
เพื่อรับคิวให้โทร MemoryStoreService:GetQueue() ด้วยชื่อ ซึ่งเป็นส่วนตัวภายในประสบการณ์สำหรับการเข้าถึงสคริปต์ใด ๆ ในขณะที่เป็นเรื่องปกติของกา
การรับคิวที่ว่างเปล่า
local MemoryStoreService = game:GetService("MemoryStoreService")local queue = MemoryStoreService:GetQueue("Queue1")
เมื่อคิวกำลังประมวลผลรายการในนั้น เวลาในการอัปเดตของคิวจะใช้สำหรับรายการนั้น ทำให้มองไม่เห็นจากการประมวลผลโดยเซิ
หลังจากที่คุณได้รับคิวให้โทรหาหนึ่งในตัวอักษรต่อไปนี้เพื่ออ่านหรือเขียนข้อมูลในคิว:
ฟังก์ชัน | การกระทํา |
---|---|
MemoryStoreQueue:AddAsync() | เพิ่ม รายการใหม่ไปยังคิว |
MemoryStoreQueue:ReadAsync() | อ่าน หนึ่งหรือมากกว่ารายการจากคิวเป็นการดำเนินการเดียว |
MemoryStoreQueue:RemoveAsync() | ลบ หนึ่งหรือมากกว่ารายการก่อนหน้านี้จากคิว |
การเพิ่มข้อมูล
เพื่อเพิ่มรายการใหม่ในคิวโปรดโทร MemoryStoreQueue:AddAsync() ไอเท็มหากคุณต้องการให้คิวของคุณอยู่ในลำ
การเพิ่มข้อมูลในคิว
local MemoryStoreService = game:GetService("MemoryStoreService")
local queue = MemoryStoreService:GetQueue("Queue1")
local addSuccess, addError = pcall(function()
queue:AddAsync("User_1234", 30, 1)
end)
if not addSuccess then
warn(addError)
end
การอ่านและลบข้อมูล
เพื่ออ่านหนึ่งหรือมากกว่ารายการจากคิวในครั้งเดียวกันโปรดโทร MemoryStoreQueue:ReadAsync() ซึ่งจะกลับ
การอ่านและการลบข้อมูลจากคิวด้วยวงแหวน
local MemoryStoreService = game:GetService("MemoryStoreService")
local queue = MemoryStoreService:GetQueue("Queue1")
local addSuccess, addError = pcall(function()
queue:AddAsync("User_1234", 30, 1)
end)
if not addSuccess then
warn(addError)
end
-- กระบวนการประมวลผลคิว
while true do
local readSuccess, items, id = pcall(function()
return queue:ReadAsync(1, false, 30)
end)
if not readSuccess then
task.wait(1)
elseif #items > 0 then
print(items, id)
local removeSuccess, removeError = pcall(function()
queue:RemoveAsync(id)
end)
if not removeSuccess then
warn(removeError)
end
end
end