함수는 스크립트에서 여러 번 사용할 수 있는 명령의 집합입니다. 대부분의 프로그래밍 언어에 내장된 미리 만들어진 함수(메서드라고도 함)에는 print()와 task.wait()가 있습니다. 코더는 반복해서 사용하고 싶지만 계속 작성하고 싶지 않은 코드를 위해 자신만의 사용자 정의 함수를 만들 수도 있습니다. Luau에서 이는 다음과 같이 입력하여 수행됩니다: local function nameOfTheFunction()
함수는 요리법처럼 생각할 수 있습니다. 둘 다 특정 지침의 목록입니다. 예를 들어, 로봇에게 스파게티를 만드는 방법을 가르치는 함수가 있을 수 있습니다. 먼저, 식사를 준비하는 단계를 나열하는 local function을 만듭니다. 그런 다음 저녁을 먹고 싶을 때마다 "로봇, makeSpaghetti()를 실행해"라고 말하면 됩니다.
저녁을 만드는 단계는 다음과 같을 수 있습니다:
- 물을 끓인다
- 파스타를 추가한다
- 15분간 요리한다
- 소스를 추가한다
- 접시에 담아낸다
코드 버전은 다음과 비슷하게 보일 수 있습니다:
local function makeDinner()
-- 지침 목록
end
-- 코드 실행 지시
makeDinner()
함수 생성하기
연습을 위해, 첫 번째 함수는 출력 창에 당신이 가장 좋아하는 음식을 인쇄합니다. 먼저 사용할 스크립트를 설정합니다. 설정하는 방법이 기억나지 않으면 다음과 같은 방법을 사용하십시오:
- ServerScriptService에 새 스크립트를 생성합니다.
- 스크립트 이름을 _FunctionsPractice_로 변경합니다.
- "Hello World"를 삭제합니다.
- 상단에 주석을 추가합니다. 예: -- 당신이 가장 좋아하는 음식을 인쇄합니다
다음으로, 함수를 생성하고 이름을 지정합니다. 모든 함수는 그 용도를 기억하기 쉽게 이름을 가져야 합니다. 함수의 이름은 camelCase이며, 첫 글자는 소문자이고 이후 단어는 대문자로 시작합니다.
예: addPoints(), restartGame(), rainFlamingLlamas()
- local function printFood()를 입력한 후 키보드에서 Enter를 누릅니다. 그러면 함수가 자동완성되어 다음과 같이 보일 것입니다:
local function printFood()
end
함수에 코드 추가하기
함수의 모든 코드는 local function printFood()와 end 사이에 입력해야 합니다. 두 지점 사이에 없는 코드는 함수가 실행될 때 실행되지 않습니다.
local function printFood()
-- 여기의 코드는 함수가 호출될 때 실행됩니다
end
-- 여기의 코드는 실행되지 않습니다
함수 내부에 있는 정보나 함수가 사용할 수 있는 정보는 스코프에 있습니다.
- local function printFood()와 end 사이에 print()를 사용하여 당신이 가장 좋아하는 음식을 언급합니다.
local function printFood()
print("커리!")
end
함수 실행 지시하기
함수가 작동하기 전에 수행해야 할 한 가지 더 일이 있으며, 그것은 함수를 실행하도록 지시하는 것입니다. 이를 함수 호출이라고 합니다. 함수는 호출되기 전까지는 실행되지 않습니다. 함수를 호출하려면 함수 이름과 함께 ()를 입력합니다.
end 아래에 printFood()를 입력합니다.
local function printFood()print("커리!")endprintFood()코드를 테스트합니다. 당신이 가장 좋아하는 음식이 Output 창에 나타나야 합니다.
문제 해결 팁
코드가 실행되지 않으면 다음과 같은 오류를 확인하세요:
- print("당신의 음식 이름")가 local function printFood()와 end 사이에 있는지 확인합니다.
- 음식이 문자열인지 확인하고, "각 쪽"에 따옴표가 붙어 있는지 확인합니다.
- 함수가 생성된 후에 호출되는지 확인합니다. printFood()는 end 아래에 있어야 합니다.