0%

Shallow Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
function shallowcopy(orig)
local orig_type = type(orig)
local copy
if orig_type == 'table' then
copy = {}
for orig_key, orig_value in pairs(orig) do
copy[orig_key] = orig_value
end
else -- number, string, boolean, etc
copy = orig
end
return copy
end
阅读全文 »

Lua判断表为空t = {}的逻辑

1
if next(a) == nil then

next(table[,index])

运行程序来遍历表中的所有域。 第一个参数是要遍历的表,第二个参数是表中的某个键。 next 返回该键的下一个键及其关联的值。 如果用 nil 作为第二个参数调用 next 将返回初始键及其关联值。 当以最后一个键去调用,或是以 nil 调用一张空表时, next 返回 nil。 如果不提供第二个参数,将认为它就是 nil。 特别指出,你可以用 next(t) 来判断一张表是否是空的。

索引在遍历过程中的次序无定义, 即使是数字索引也是这样。 (如果想按数字次序遍历表,可以使用数字形式的 for 。) -Lua 5.3参考手册

阅读全文 »

1
2
3
4
5
6
7
table.insert(table,[ pos,] value) 
table.remove(table[, pos])
table.concat(table[, sep[, i[, j]]])
table.sort(table[, comp]) // 见Lua排序

table.getn() //5.0
table.maxn() //5.2
阅读全文 »

委托

是对方法的引用。本质类。

委托是类型安全的:只能让委托引用与委托签名匹配的方法。

派生自System.MulticastDelegate(派生自System.Delegate)

定义后,创建实例初始化

阅读全文 »

C#特性

Unity特性

C#

C#特性从本质上来说,自定义特性是一个标签。编译器会在托管模块的元数据中嵌入这些额外的信息。大多数的特性对编译器来说并没有意义,编译器只是机械的检测源码中的特性,并生成对应的元数据。

阅读全文 »