[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Lua 5.1.1 and the __concat metamethod
- From: "Paul.Winwood" <paul.winwood@...>
- Date: Sun, 24 Dec 2006 18:10:06 +0000
I have implemented a Lua (5.1.1) userdata that implements the __concat
metamethod. A simplified form of my testcase is as follows:
result = userdata..number
-- result = number..dispatch
result = dispatch..userdata
result = userdata..table
result = table..userdata
result = userdata..boolean
result = boolean..userdata
result = userdata..string
result = string..userdata
result = userdata..func
result = func..userdata
result = userdata..thread
result = thread..userdata
where userdata is a variable containing my userdata object (and number,
table, boolean, func and thread are variables containing the
corresponding Lua type). Everything works as expected but for the
commented out case
result = number..userdata
In this case the number is automatically 'promoted' to a string type
before my metamethod is called. Is this behaviour correct because this
is not as described by my reading of section 2.8 of the manual?
Paul.