2

ルア 5.3

これは機能しません。なぜですか? テーブルに対して短い呼び出しフォームが機能しないのはなぜですか?

t = { "a", "b", "c" }
s = t:concat()

これは動作します...

s = table.concat(t)  
4

1 に答える 1

2

ライブラリは、そのstring関数をすべての文字列で共有されるメタテーブルにエクスポートします。str:upper()そのため、 のように使用できますstring.upper(str)

table図書館の場合はそうではありません。メタテーブルを手動で設定する必要があります。たとえば、これは機能します:

local t = { "a", "b", "c" }
t.__index = table
setmetatable(t, t)
local s = t:concat()
print(s)  -- abc
于 2015-05-27T01:11:32.387 に答える