No parentheses after a function name

Viewed 4904

I'm looking to develop for a game that uses Lua as a scripting language.

I have the following statement:

foe:add_component 'render_info':set_scale(0.5)

I understand that : means that the calling parent object will be passed into called method as the first argument. But in this case, there are no parentheses after render_info; there's what seems to be a bare string literal with a method being called on it, which really seems to make no sense.

I also understand the concept of metatables and metamethods, which add_component may be an example of. However, there are no "blank space" operators to override that I have found. I am wondering if there's something major I'm missing about the grammar of Lua.

What does the above code statement mean? What is each part, and what is it doing?

2 Answers
Related