Tôi muốn tạo hàm Lua mới.mở rộng Lua: kiểm tra số tham số được chuyển đến hàm
Tôi có thể sử dụng chức năng với tham số (Tôi đang theo dõi this link) để đọc các tham số chức năng.
static int idiv(lua_State *L) {
int n1 = lua_tointeger(L, 1); /* first argument */
int n2 = lua_tointeger(L, 2); /* second argument */
int q = n1/n2; int r = n1 % n2;
lua_pushinteger(L, q); /* first return value */
lua_pushinteger(L, r); /* second return value */
return 2; /* return two values */
}
Tôi muốn biết nếu có một cách nào để biết số lượng các tham số truyền cho một chức năng, để in một tin nhắn nếu người dùng không gọi hàm với hai tham số.
Tôi muốn thực hiện chức năng khi người dùng viết
idiv(3, 4)
và in một lỗi khi
idiv(2)
idiv(3,4,5)
and so on...
Thực tiễn thông thường trong Lua không phải là khiếu nại về các đối số bổ sung. – lhf
Và còn ít đối số thì sao? – Jepessen
Ít tranh cãi hơn là một câu chuyện khác. Nếu mặc định hợp lý có thể được sử dụng, sau đó làm điều đó. Nếu không, hãy báo lỗi. – lhf