(点击上方公众号,可快速关注) 来源:没故事的卓同学 链接:http://www.jianshu.com/p/604305a61e57 在swift 3中新增加了两中访问控制权限 fileprivate和 open。下面将对这两种新增访问控制做详细介绍。 fileprivate 在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然
在Swift 3中除去原有的3个访问控制关键字private,public,internal,又添加了2个关键字fileprivate和open 它们可以看成是对private和public的进一步细分 原来的private对于同一个文件的各个方法来说都可以访问到,这往往不是开发者想要的结果,于是原来的private变成了fileprivate,而private变为了真正的私有访问控制.这意味着即
1,private private访问级别所修饰的属性或者方法只能在当前类里访问。 2,fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问。如果只在一个文件中,即使不在一个类中也是可以调用的 3,internal(默认访问级别,internal修饰符可写可不写) internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
Lua 5.2.1 里面无法使用lua_open,新的写法是 lua_State *L = luaL_newstate(); luaL_openlibs(L); /* * 逻辑代码 如: * luaL_dofile(L, "aaa.lua"); *....... */ lua_close(L);
使用lua5.2发现编译器找不到lua_open函数,最后发现这个函数在5.2中已经被遗弃,被新的函数luaL_newstate和lua_newstate替代。lua_newstate可自定义内存分配函数,luaL_newstate使用默认的内存分配方式。 下面是5.2中头文件部分定义 /* compatibility with old module system */
#if d