Templating
Class templating is a feature commonly found in type-oriented programming languages like TypeScript or C++. While class templating is sometimes seen as having limited applications, it allows the creation of type-flexible classes that significantly reduces repetitive code.
Templating in Lua++ is quite simple and efficient. It works like so: tag
where T
is a type. To allow more than one type, one would separate each type name with a comma, such as: tag<T1, T2, ...>
. A simple example of templating is shown below:
class Pair<T1, T2> {
first: T1,
second: T2,
implicit constructor(f: T1, s: T2)
self.first, self.second = f, s
end
}
local pair: Pair<number, string> = { 3, "Three" }
Last updated
Was this helpful?