Хотя верно, что a:f(x)
является просто синтаксическим сахаром для a.f(a,x)
, второй синтаксис не тот, что у вас там.Подумайте об этом в обратном направлении:
Вы пытались вызвать функцию t:insert(9)
Таким образом, указанное вами синтаксическое правило будет t.insert(t, 9)
Но вызов рабочей функции table.insert(t, 9)
Видите, как последние два не совпадают?Таким образом, ответ на ваш вопрос заключается в том, что insert () не является функцией, содержащейся в t
, она находится в «таблице».