代码拉取完成,页面将自动刷新
package luar
import (
"testing"
"github.com/yuin/gopher-lua"
)
func Test_metatable(t *testing.T) {
L := lua.NewState()
defer L.Close()
tbl := []struct {
Value interface{}
CustomMT bool
}{
{"hello", false},
{123, false},
{1.23, false},
{nil, false},
{struct{}{}, true},
{&struct{}{}, true},
{[]string{}, true},
{make(chan string), true},
{(*string)(nil), true},
{func() {}, false},
{map[string]int{}, true},
}
for _, v := range tbl {
mt := MT(L, v.Value)
if v.CustomMT && mt == nil {
t.Fatalf("expected to have custom MT for %#v\n", v.Value)
} else if !v.CustomMT && mt != nil {
t.Fatalf("unexpected custom MT for %#v\n", v.Value)
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。