Built-in

๋””ํ† ๋žœ๋“œ์—์„œ ์ง€์›ํ•˜๋Š” ๋ฃจ์•„ ๊ธฐ๋Šฅ์ด์—์š”.

ํ•จ์ˆ˜

void print(string Text)

๋กœ๊ทธ์ฐฝ์— ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์š”. (์ถœ๋ ฅํ•  ๋‚ด์šฉ)

-- ์ƒ˜ํ”Œ --

--๋ฌธ์ž์—ด(๋ฉ”์‹œ์ง€)์„ ๋กœ๊ทธ์ฐฝ์— ์ถœ๋ ฅํ•ด์š”.
print("Hello World!")

--.. ์„ ์ด์šฉํ•ด์„œ ๊ฐ๊ฐ์˜ ๋ฌธ์ž์—ด์„ ํ•ฉ์ณ์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋กœ๊ทธ์ฐฝ์— ์ถœ๋ ฅํ•ด์š”.
print("Hello " .. "Dito" .. "Land!")

--์ˆซ์ž๋‚˜ bool ๋“ฑ์˜ ์ž๋ฃŒํ˜•๋„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
print(1)
print(1.5)
print(false)
print(Vector.new(50, 0, 5))
print(Color.new(255, 255, 255, 255))

--์‹ค์ˆ˜๋Š” math.floor๋กœ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
print(math.floor(6.529))

--๋ณ€์ˆ˜์— ์ €์žฅํ•œ ๊ฐ’๋„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
local SomeNumber = 5
local FloorTransform = Workspace.Floor.Transform
print(SomeNumber)
print(FloorTransform)

--์‰ผํ‘œ๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์–ด์š”.
print(1, " / ", 50.2, " / ", "Hello", " / ", true, " / ", Vector.new(50, 0, 10))

void Log(string Text)

๋กœ๊ทธ์ฐฝ์— ์ผ๋ฐ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์š”. (์ถœ๋ ฅํ•  ๋‚ด์šฉ)

-- ์ƒ˜ํ”Œ --

Log("Log")

void LogWarning(string Text)

๋กœ๊ทธ์ฐฝ์— ์›Œ๋‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์š”. (์ถœ๋ ฅํ•  ๋‚ด์šฉ)

-- ์ƒ˜ํ”Œ --

LogWarning("Warning")

void LogError(string Text)

๋กœ๊ทธ์ฐฝ์— ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์š”. (์ถœ๋ ฅํ•  ๋‚ด์šฉ)

-- ์ƒ˜ํ”Œ --

LogError("Error")

number time()

๊ฒŒ์ž„์˜ ๊ฒฝ๊ณผ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local startTime = time()

print("wait 3s")
wait(3)

local passTime = time() - startTime
print(passTime)

number ostime()

OS ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”. 1970๋…„ 1์›” 1์ผ 0์‹œ 0๋ถ„ 0์ดˆ๋ฅผ ๊ธฐ์ ์œผ๋กœ ํ˜„์žฌ๊นŒ์ง€ ํ๋ฅธ ์‹œ๊ฐ„์„ ์ดˆ๋‹จ์œ„๋กœ ๋Œ๋ ค์ค๋‹ˆ๋‹ค.

-- ์ƒ˜ํ”Œ --

local getTime = ostime()
print(getTime)

DateTime nowtime()

ํ˜„์žฌ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getTime = nowtime()
print(getTime)

DateTime ToDateTime()

OsTime์œผ๋กœ ๋ถ€ํ„ฐ DateTime๋ฅผ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getOsTime = ostime()
local Date = ToDateTime(getOsTime)

number ToOsTime()

Date์œผ๋กœ ๋ถ€ํ„ฐ OsTime๋ฅผ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getDate = nowtime()
local getOsTime = ToOsTime(getDate)

number GetDayOfYear()

Date์œผ๋กœ ๋ถ€ํ„ฐ ์˜ฌํ•ด ๊ธฐ์ค€ ๊ฒฝ๊ณผ์ผ์„ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getDate = nowtime()
local DayOfYear = GetDayOfYear(getDate)

number GetWeekOfYear()

Date์œผ๋กœ ๋ถ€ํ„ฐ ์˜ฌํ•ด ๊ธฐ์ค€ ์ฃผ์ฐจ๋ฅผ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getDate = nowtime()
local WeekOfYear = GetWeekOfYear(getDate)

number GetNumberOfWeek()

Date์œผ๋กœ ๋ถ€ํ„ฐ ์ด๋ฒˆ ์ฃผ ๊ธฐ์ค€์œผ๋กœ ์š”์ผ ๋ฒˆํ˜ธ ๋ฐ˜ํ™˜์„ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local getDate = nowtime()
local NumberOfWeek = GetNumberOfWeek(getDate)

bool IsChangedYear()

๋น„๊ตํ•˜๋Š” Date๊ฐ€ ๋‹ค์Œ ํ•ด์ธ์ง€ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedYear = IsChangedYear(T1,T2)

bool IsChangedMonth()

๋น„๊ตํ•˜๋Š” Date๊ฐ€ ๋‹ค์Œ ์›”์ธ์ง€ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedMonth = IsChangedMonth(T1,T2)

bool IsChangedDay()

๋น„๊ตํ•˜๋Š” Date๊ฐ€ ๋‹ค์Œ ๋‚ ์ธ์ง€ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedDay = IsChangedDay(T1,T2)

bool IsChangedWeek()

๋น„๊ตํ•˜๋Š” Date๊ฐ€ ๋‹ค์Œ ์ฃผ์ธ์ง€ ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local ChangedWeek = IsChangedWeek(T1,T2)

number GetCompareYear()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ๋…„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareYear = GetCompareYear(T1,T2)

number GetCompareMonth()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ๋‹ฌ์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareMonth = GetCompareMonth(T1,T2)

number GetCompareDay()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ์ผ์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareDay = GetCompareDay(T1,T2)

number GetCompareHour()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareHour = GetCompareHour(T1,T2)

number GetCompareMinute()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ๋ถ„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareMinute = GetCompareMinute(T1,T2)

number GetCompareSec()

๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ์ดˆ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

local T1 = DateTime.new(2022, 12, 31, 11, 20, 34)
local T2 = DateTime.new(2023, 01, 01, 11, 20, 34)
local CompareSec = GetCompareSec(T1,T2)

ModuleObject require(ObjectScript ModuleScript)

๋ชจ๋“ˆ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋กœ๋“œํ•ด์š”. (๋ชจ๋“ˆ์Šคํฌ๋ฆฝํŠธ) (์Šคํฌ๋ฆฝํŠธ ์ฒ˜์Œ ๋ถ€๋ถ„์—์„œ ํ•œ๋ฒˆ๋งŒ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.)

-- ์ƒ˜ํ”Œ --

local Utility = require(ScriptModule.DefaultModules.Utility)

void assert(bool condition)

condition ๊ฐ’์ด false์ด๋ฉด ์—๋Ÿฌ๋ฅผ ์ถœ๋ ฅํ•ด์š”. (์กฐ๊ฑด ๊ฐ’)

-- ์ƒ˜ํ”Œ --

local MakeError = false

print("a")
assert(MakeError) --์ธ์ž๊ฐ€ true๊ฐ€ ์•„๋‹ˆ๋ฉด ์—๋Ÿฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋‹ค์Œ ์ค„์„ ์ฒ˜๋ฆฌํ•ด์š”.
assert(MakeError, "Some Error!!") --๋‘๋ฒˆ์งธ ์ธ์ž์— ์—๋Ÿฌ์‹œ ์ถœ๋ ฅํ•  ๋‚ด์šฉ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์–ด์š”.
print("b")

void wait(number Time)

์ง€์ •ํ•œ ์‹œ๊ฐ„๋งŒํผ ๊ธฐ๋‹ค๋ ค์š”. (๋Œ€๊ธฐ์‹œ๊ฐ„)

-- ์ƒ˜ํ”Œ --

print("wait 3s")
wait(3)
print("end wait!")

void waitbool(function TargetFunction)

ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด true๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ํ•จ์ˆ˜๋ฅผ ๊ณ„์† ํ˜ธ์ถœํ•ด์š”. (ํ˜ธ์ถœํ•  ํ•จ์ˆ˜)

-- ์ƒ˜ํ”Œ --

local hour = 1
local function IsMorning()
    if hour < 20 then
        print("It's Morning!")
        hour = hour + 1
        return false
    else
        print("It's Night!")
        return true
    end
end
waitbool(IsMorning) --ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด true๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ํ•จ์ˆ˜๋ฅผ ๊ณ„์† ํ˜ธ์ถœํ•ด์š”

void waitfunction(function TargetFunction)

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๋’ค,ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์š”. (ํ˜ธ์ถœํ•  ํ•จ์ˆ˜)

-- ์ƒ˜ํ”Œ --

print("Call WaitMessage Function")

local function WaitMessage()
    print("wait 3s")
    wait(3)
    print("Hello DitoLand!")
end
waitfunction(WaitMessage) --ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๋’ค, ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์š”

print("End WaitMessage Function")

coroutine create(function TargetFunction)

์ฝ”๋ฃจํ‹ด์„ ์ƒ์„ฑํ•ด์š”.

-- ์ƒ˜ํ”Œ --

local co = coroutine.create(function()
    print("Hello!")
end)

void resume(coroutine coroutine)

์ฝ”๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ด์š”.

-- ์ƒ˜ํ”Œ --

local co = coroutine.create(function()
    print("Hello!")
end)
coroutine.resume(co)

void yield()

์‹คํ–‰์ค‘์ธ ์ฝ”๋ฃจํ‹ด์„ ์ผ์‹œ์ •์ง€ํ•ด์š”. (์ฝ”๋ฃจํ‹ด ์•ˆ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•ด์š”.)

-- ์ƒ˜ํ”Œ --

local co = coroutine.create(function()
    for i = 1, 3 do
        print("num : " .. i)
        coroutine.yield()
    end
end)
coroutine.resume(co) -- num : 1
coroutine.resume(co) -- num : 2
coroutine.resume(co) -- num : 3

void wrap(function TargetFunction)

ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋ฐ”๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋ฃจํ‹ด์„ ์ƒ์„ฑํ•ด์š”.

-- ์ƒ˜ํ”Œ --

local co = coroutine.wrap(function()
    print("Hello!")
end)
co()

string status(coroutine coroutine)

์ฝ”๋ฃจํ‹ด์˜ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์š”.

-- ์ƒ˜ํ”Œ --

local co = coroutine.create(function()
    print("Hello!")
end)
print(coroutine.status(co)) -- suspend
coroutine.resume(co)
print(coroutine.status(co)) -- dead

Last updated

Was this helpful?