The confusion arises because some languages (like Python 2.x) have a print statement, whereas print
is a function in Lua (as it is n Python 3).
However, there are two cases where you can leave out the parentheses when calling a Lua function: you may pass a single value of either string or table type. So myfunc{a=1,b=2}
is also fine. This little bit of 'syntactic sugar' comes from Lua's heritage as a data description language.