Squirrel
文章平均质量分 59
丑娃儿
《老码说编程之玩转Swift江湖》一书作者,目前喜欢aardio的开发。平时喜欢骑马,撸码!
展开
-
Squirrel 文档翻译( Lexical Structure )
<br />标识符:<br />标识符以字母或下划线开头,后面可以跟任意数量的字母数字或者下划线。Squirrel是们大小写敏感的语言,这意味着同一个字母的大小写会被认为是不同的字母,比如"Foo", "fOo", "foo",将会被看做三个完全不同的标识符。<br />id:= [a-zA-Z_]+[a-zA-Z_0-9]*<br /><br /><br /> <br />关键字:<br />下面这些单词是Squirrel的保留字,不能被用作标识符。<br />breakcasecatchclassclo原创 2010-07-14 21:32:00 · 1439 阅读 · 0 评论 -
Squirrel文档翻译(内置函数-全局变量和函数)
<br />内置函数<br />Squireel虚拟机提供了一系列内置工具函数。<br /> <br />全局函数和变量<br /><br /><br />1 array(size,[fill])<br /><br /><br /><br />创建并返回一个指定大小的数组。如果指定了可选参数fill,就会用这个fill的值去初始化数组的新槽。如果没有指定,使用null初始化填充槽。<br /> <br />2 seterrorhandler(func)<br /><br />设置运行时错误处理句柄(函数)<原创 2010-11-17 12:50:00 · 2386 阅读 · 0 评论 -
Squirrel 文档翻译( Squirrel嵌入-索引)
索引1--内存管理2--Unicode3--64位版的Squirrel4--Squirrel中使用双精度5--容错处理6--Squirrel初始化7--栈 |------1 栈索引 |------2 栈操作8--运行期错误处理9--编译脚本10--函数调用11--创建C函数12--表和数组操作13--Userdata和UserPointers14--注册表15--通过CApi维护Squirrel值的强索引16--调试接口原创 2010-11-17 14:02:00 · 1903 阅读 · 0 评论 -
Squirrel文档翻译(元方法2)
元方法元方法是一种用来定制语言语意某方面的特性的机制。这些元方法就是保存在父表(委托)中或者类对象的声明中。可以通过定义元方法来改变表或者类实例很多方面的特性。类对象(不是实例)仅支持两种形式的元方法:_newmember,_inherited.比如我们在两个表上使用关系运算符==,虚拟机会检查在它的父表中是否存在名为“_cmp”的元方法,如果存在,就会调用这个元方法去决定两表之间的关系。local comparable={_cmp = function (other){ if(name原创 2010-11-16 22:32:00 · 1201 阅读 · 0 评论 -
Squirrel文档翻译(弱引用和委托)
弱引用弱引用允许开发人员创建一个对象的引用而不用影响对象本身的生命期。在Squireel中,弱引用是第一类对象,可以通过内置函数obj.weakref()创建。除过null值所有的类型都可以实现weakref方法。然后,对于整型,浮点型,该方法会简单的返回值的本身(因为这种类型是值传递的)。一个赋值给容器的弱引用(表,数组,类以及实例)和其他的对象有些不同。当一个含有弱引用的槽被提取时,它返回弱引用指向的值而不是弱引用对象。这允许开发人员或略被处理的值是weak的问题。当弱引用指向的对象被销毁的时候,若应用原创 2010-11-16 18:07:00 · 1320 阅读 · 1 评论 -
Squirrel文档翻译(表达式1)
Squirrel文档翻译原创 2010-11-16 13:41:00 · 1555 阅读 · 0 评论 -
Squireel文档翻译(线程)
<br />线程<br />Squirrel支持协作式线程(被称作协程)。一个协作线程是个子程序,它可以在执行过程中被挂起并且提供一个值给它的调用者,而不是退出程序流。当它被挂起的时候,可以从挂起的地方恢复其执行过程。第一个看Squireel的时候,可能会和生成器Generator混淆,实际上,其行为有很大的相似,然而当一个生成器在他的调用者堆栈中执行时,它只能挂起它的局部运行栈信息,线程有他自己的执行堆栈,全局表和错误处理机制,这允许线程挂起它嵌套的调用并且使用它自己的错误处理策略。<br /> <br原创 2010-11-16 17:43:00 · 1219 阅读 · 0 评论 -
Squireel文档翻译(元方法)
<br />元方法<br />类的实例允许通过元方法修改类的一些特定方面的语义。对于C++程序员来讲,元方法行为就是一些类似重载运算符的丑陋方法。支持类的元方法有:_add,_sub,_mul,_div,_unm,_modulo,_set,_get,_typeof,_nexti,_cmp,_call,_delslot,_tostring.<br />类的对象只支持两种元方法:_newmember和_inherited.<br /> <br />下面的例子展示怎样创建一个实现元方法_add的类:<br />c原创 2010-11-16 17:21:00 · 1179 阅读 · 0 评论 -
Squirrel 文档翻译( Class )
<br /><br />类<br />Squireel实现了和C++/Java等类似的类机制,然后由于他的动态特性,在有些方面存在差异。类是第一类对象,和整型以及字符串类型一样,可以被保存在表的槽中,局部变量,数组以及传递给参数。<br /> <br />类的声明<br />类的对象可以通过关键字”Class“进行创建。类对象遵循表构造器同样的声明方法,只有一点不同,就是使用';'作用可选的分隔符,而不是‘,’。<br /> <br />例如:class Foo { /原创 2010-11-16 16:12:00 · 1127 阅读 · 1 评论 -
Squireel文档翻译(表达式2)
<br />数组<br />数组是一个整型数值作为索引的值的序列,其索引从0到数组大小减1.数组元素可以通过它的索引进行取值。<br /> local a=[“I’m a string”, 123]print(typeof a[0]) //prints "string"print(typeof a[1]) //prints "integer" 可以通过一系列的内置函数对数组进行改变大小,插入和删除操作。函数函数和字符串活整型类型一样属于第一类值,可以被保存在表的槽中,局部变量,数组以及以函数参数的进原创 2010-11-16 14:42:00 · 1178 阅读 · 0 评论 -
Squirrel3 RC1 版本发布
<br />Squirrel 3 release测试版本发布。该版本好一些bug修改和少许改动。希望这是最后一个不稳定版本。<br />可以在http://code.google.com/p/squirrel/ 下载<br /> <br />下面是改动列表:增强了元方法错误处理和传递功能在_newmember元方法中添加了一个参数“isstatic”(感谢G.Meyer)添加了一个sq_getrefcount方法用于在c++中返回引用计数值。<br /> <br />如果你有任何问题可以联系作者<br />原创 2010-12-20 17:56:00 · 1434 阅读 · 0 评论 -
Squirrel 文档翻译( 目录)
<br />词法结构<br /> |---标识符<br /> |---关键字<br /> |---操作符<br /> |---其他分隔符<br /> |---字符<br /> 数值和类型<br /> |---整型<br /> |---浮点数<br /> |---字符串<br /> |---空值<br /> |---布尔值<br /> |---表<br /> |---数组<br />原创 2010-07-13 18:22:00 · 1761 阅读 · 5 评论 -
Squirrel 文档翻译( Introduction )
Squirrel是面向对象的高级编程语言,被设计用于内存大小,带宽,实时性要求较高的应用,比如游戏类的应用。虽然Squirrel提供了很广泛的特性,像动态类型,委托,高阶函数,迭代器,尾递归,异常处理,自动内存管理,但是Squirrel的编译器和虚拟机和在一起才只有6千多行c++代码(http://squirrel-lang.org/doc/squirrel2.html#d0e38)。原创 2010-07-13 17:56:00 · 1957 阅读 · 0 评论 -
Squirrel学习(前言)
<br /> 现在正在搞公司的一个项目,需要用Lua和C++混合编程实现一套交融交易系统。确实Lua是个好东西,无容置疑,简单,高效,和c++无缝连接, 通过看PIL,还有云风大哥的博客,以及采集无数Luaer的体会,才勉强的一瘸一拐的入门。不过Lua也有不如任意的地方,比如不支持OO,所有有很多山寨的方法,基本都是用Lua Table结婚Metatable的东东模拟OO的,但是总是感觉不顺手,呵呵,不过Squirrel直接支持OO,看他的文档说是,基于Lua并且采集了Python等脚本语言之长。原创 2010-07-13 17:41:00 · 2420 阅读 · 6 评论 -
Squirrel 文档翻译(Statements)
一个Squirrel是一系列的声明块组成。Squireel中声明块和和C系列的语言很相似 (C/C++, Java, C# etc...):赋值,函数调用,程序流控制结构,等等,并且外加一些自定义的声明,像yield,table和数组构造器(所有这些细节的信息后续文档中都覆盖到了)。声明块可以被新行或者“;”(如果在switch/case结构中的话也可以被case和default分割),如果声明块后跟有“}”上述分割符号是非必须的。块stat := '{' stats '}'被“{}”分割的一串声明叫做块,原创 2010-07-15 22:58:00 · 1299 阅读 · 0 评论 -
Squirrel文档翻译(内置函数-默认委托)
<br />内置函数<br />默认委托<br />除过null和userdata之外,所有的Squirrel对象都有自己的默认委托,包含一些列函数用来操作或检索对象信息。<br /> <br />整型<br />1 tofloat()<br />把数字转换成浮点型并返回<br /><br />2 tostring()<br />把数字转换为字符串并返回<br /><br />3 tointeger()<br />返回整型数字的值(仿函数)<br /> <br />4 tochar()<br />retur原创 2010-11-17 13:53:00 · 1935 阅读 · 0 评论