mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
26 lines
429 B
Perl
26 lines
429 B
Perl
struct Vec { data : float[3] }
|
|
|
|
|
|
local get = {}
|
|
get.x = terra(self : &Vec)
|
|
return self.data[0]
|
|
end
|
|
get.y = macro(function(self)
|
|
return `self.data[1]
|
|
end)
|
|
|
|
Vec.metamethods.__entrymissing = macro(function(name,self)
|
|
return `[get[name]](&self)
|
|
end)
|
|
|
|
terra bar()
|
|
var a = Vec { array(1.f,2.f,3.f) }
|
|
a.y = a.y + 1
|
|
var pa = &a
|
|
return a.x + a.y + pa.x
|
|
end
|
|
|
|
local test = require("test")
|
|
test.eq(bar(),5)
|
|
|