Lua Docs

Nil Values(닐)

원문 : https://developer.roblox.com/en-us/articles/Nil

Lua에서 nil은 '존재하지 않음'을 나타내기 위해 사용됩니다. 테이블의 값을 제거하거나 스크립트에서 변수를 파괴(Destroy)하는데 주로 사용됩니다.

1
2
3
4
5
6
7
8
9
10
11
local dictionaryTable = {
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3
}
-- 'Tuesday' 키의 값을 출력
print(dictionaryTable.Tuesday)
-- 'Tuesday' 키를 비움(Clear)
dictionaryTable.Tuesday = nil
-- 다시 해당 키의 값을 출력
print(dictionaryTable.Tuesday)

로블록스에서 nil은 Instance 개체의 Parent를 제거해 빠르게 게임에서 사라지게 하는 것 또한 가능합니다. 또, Parent를 다시 생성해 원래대로 돌릴 수도 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- 새로운 Part를 생성
local part = Instance.new("Part")
-- 부모를 workspace로 설정해 볼 수 있도록 한다.
part.Parent = workspace 
wait(1)
-- Part를 볼 수 없게 했지만, 메모리에는 여전히 남아있다.
part.Parent = nil
wait(1)
-- 변수 'part'에 의해 참조되고 있기 때문에, Part는 여전히 존재한다. 그래서 다시 볼 수 있게 돌릴 수 있다.
part.Parent = workspace 
wait(1)
-- 다시 Part를 볼 수 없게 한다.
part.Parent = nil
-- part의 참조를 제거해 Part를 쓰레기 수집기가 가져갈 수 있도록 한다.
part = nil

 

'Lua Docs' 카테고리의 다른 글

Table(테이블)  (0) 2021.03.29
Strings(문자열)  (0) 2021.03.28
Number(수)  (0) 2021.03.28
Booleans(부울, 부울린)  (0) 2021.03.28