Hàm là tập hợp các hướng dẫn có thể được sử dụng nhiều lần trong một kịch bản. Có những hàm đã được tạo sẵn (còn gọi là phương thức) như print() và task.wait() được tích hợp trong hầu hết các ngôn ngữ lập trình. Các lập trình viên cũng có thể tạo ra các hàm tùy chỉnh cho mã mà họ muốn sử dụng nhiều hơn một lần, nhưng không cảm thấy cần phải viết đi viết lại. Trong Luau, điều này được thực hiện bằng cách gõ: local function nameOfTheFunction()
Hàm có thể được coi như một công thức nấu ăn. Chúng đều là danh sách các hướng dẫn cụ thể. Ví dụ, bạn có thể sử dụng một hàm để dạy một con robot cách làm mì spaghetti. Đầu tiên, hãy tạo một local function liệt kê các bước chuẩn bị bữa ăn. Sau đó, bất cứ khi nào bạn muốn ăn tối, chỉ cần nói, "Robot, chạy makeSpaghetti()".
Các bước để làm bữa tối có thể trông như thế này:
- Đun nước
- Thêm mì
- Nấu 15 phút
- Thêm sốt
- Dọn ra đĩa
Trong khi phiên bản mã có thể trông như sau:
local function makeDinner()
-- Danh sách hướng dẫn
end
-- Câu lệnh để chạy mã
makeDinner()
Tạo một hàm
Để thực hành, hàm đầu tiên của bạn sẽ in món ăn yêu thích của bạn trong cửa sổ Output. Đầu tiên hãy thiết lập kịch bản bạn sẽ sử dụng, nếu bạn không nhớ cách làm, đây là một lời nhắc nhở:
- Tạo một kịch bản mới trong ServerScriptService.
- Đổi tên kịch bản thành FunctionsPractice.
- Xóa "Hello World".
- Thêm chú thích ở đầu. Ví dụ: -- In ra món ăn yêu thích của bạn
Tiếp theo, bạn tạo và đặt tên cho hàm. Tất cả các hàm nên có tên giúp bạn nhớ mục đích của chúng. Tên hàm được viết theo kiểu camelCase, với chữ cái đầu tiên viết thường và các từ tiếp theo viết hoa.
Ví dụ: addPoints(), restartGame(), rainFlamingLlamas()
- Gõ local function printFood(), sau đó nhấn Enter trên bàn phím của bạn. Nó sẽ tự động hoàn thành hàm trông như sau:
local function printFood()
end
Thêm mã vào hàm
Tất cả mã cho hàm của bạn phải được gõ giữa các dòng local function printFood() và end. Bất kỳ mã nào không nằm giữa hai điểm đó sẽ không chạy khi hàm được gọi.
local function printFood()
-- Mã ở đây sẽ chạy khi hàm được gọi
end
-- Mã ở đây sẽ không chạy
Thông tin nằm bên trong hàm, hoặc có thể được sử dụng bởi hàm, nằm trong phạm vi.
- Giữa local function printFood() và end, sử dụng print() để nêu món ăn yêu thích của bạn.
local function printFood()
print("Curry!")
end
Khiến hàm chạy
Còn một điều nữa mà chúng ta cần làm trước khi hàm hoạt động, đó là bảo nó chạy, còn được gọi là gọi một hàm. Các hàm sẽ không chạy cho đến khi chúng được gọi. Để gọi một hàm, gõ tên hàm bao gồm cả ().
Dưới end, gõ printFood().
local function printFood()print("Curry!")endprintFood()Kiểm tra mã. Món ăn yêu thích của bạn nên xuất hiện trong cửa sổ Output.
Mẹo khắc phục sự cố
Nếu mã của bạn không chạy, hãy kiểm tra các lỗi như sau:
- Kiểm tra xem print("Your Food Here") có nằm giữa local function printFood() và end hay không.
- Đảm bảo rằng món ăn của bạn là một chuỗi, với dấu ngoặc kép ở "mỗi bên".
- Kiểm tra xem hàm đã được gọi sau khi nó được tạo hay chưa. printFood() nên nằm dưới end.