mirror of
https://github.com/KevinMidboe/linguist.git
synced 2026-01-26 19:26:01 +00:00
samples: add Terra samples
source: https://github.com/zdevito/terra/tree/master/tests
This commit is contained in:
24
samples/Terra/usercast.t
Normal file
24
samples/Terra/usercast.t
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
struct A { a : int, b : float }
|
||||
|
||||
function A.metamethods.__cast(from,to,exp)
|
||||
if from == int and to == A then
|
||||
return `A {exp, 1.f }
|
||||
elseif from == float and to == A then
|
||||
return `A { 1, exp }
|
||||
end
|
||||
error("invalid")
|
||||
end
|
||||
|
||||
|
||||
terra moo(a : A)
|
||||
return a.a + a.b
|
||||
end
|
||||
|
||||
terra bar()
|
||||
return moo(1) + moo(1.f)
|
||||
end
|
||||
|
||||
local test = require("test")
|
||||
|
||||
test.eq(bar(), 4)
|
||||
Reference in New Issue
Block a user