Bruh - это функция, и в простых случаях вы должны использовать круглые скобки ()
для размещения параметров вашей функции ({hai = "hoho"}
- это параметр). Во втором блоке кода вы использовали вместо этого фигурные скобки {}
, которые работают немного по-другому. Это похоже на вызов единственной таблицы в качестве параметра. Учтите это:
function test(word)
print("The word is...")
print(word)
end
Вы можете попытаться вызвать эту функцию несколькими различными способами, и результат будет меняться в зависимости от того, как вы ее вызываете. test("Chicken")
output:
The word is...
Chicken
Вы назвали строку "chicken" с помощью обычного метода, и она использовалась функцией. Но что, если вы называете это с помощью фигурных скобок?
test{"Chicken"}
output:
The word is...
table: 0x204a710 --the actual location in computer memory of the table {"Chicken"} you wrote
Это эквивалентно вызову test({"Chicken"})
. Запустите его, и результат будет таким же, но будет напечатано другое местоположение, но расположение таблицы не важно для вас. Чтобы получить доступ к «Цыпленку» таким способом, можно проиндексировать таблицу параметров, как и любую другую таблицу.
function test(word)
print("The word is...")
print(word[1])
end
test{"Chicken"}
Вывод:
The word is...
Chicken
Вывод будет таким же, если вы называется test({"Chicken"})
Так что когда вы вызываете "bruh { {hai =" hoho "}, {yey = 11} } ", параметр «a» из bruh фактически является таблицей, составленной из внешней пары фигурных скобок (выделено жирным шрифтом), поэтому a.hai не существует и вернет ноль значение. Фигурные скобки следует использовать только тогда, когда вы передадите одну таблицу в качестве параметра и извлечете остальные значения внутри функции, потому что технически вы ничего не можете передать после таблицы. Например, если вы хотите, чтобы функция печатала a.hai и a.yey , вы могли бы написать это: print(bruh{hai = "hello", yey = "Bye"})
Но спросите себя: как бы вы включили " б " стол? Вы включили второй параметр в функцию Bruh, поэтому я предполагаю, что вы собираетесь написать его в ближайшее время. Просто используйте скобки в этом случае, это избавит вас от головной боли.