摘要: 光和表面物体之间的相互作用是一个复杂的物理过程。当光子撞击到物体表面时可能被吸收,反射,或者投射。(如果将这个物理交互过程进行完整的建模,将会花费很大,我们先使用一些简化模型,来接近所期望的表面特性,虽然缺少物理上的精确性,但是计算效率高)1、RGB颜色系统 对于计算机显示器来说,颜色信息只是依靠... 阅读全文
posted @ 2015-09-08 15:06 hongjack 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 第七章 迭代器与泛型for 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素,在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。 一、迭代器与闭包 一个简单的例子: 我们为一个list写一个简单的迭代器,与ipairs()不同的是我们实现的这个迭代器返回元素的值而不是索引下标: function list_iter(t)... 阅读全文
posted @ 2015-04-15 18:52 hongjack 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 第六章: 再论函数 Lua 中的函数是带有词法定界(lexical scoping)的第一类值(first-class values)。 第一类值指:在 Lua 中函数和其他值(数值、字符串)一样,函数可以被存放在变 量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值。 词法定界指:被嵌套的函数可以访问他外部函数中的变量。... 阅读全文
posted @ 2015-04-04 22:01 hongjack 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 第五章 函数 函数有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用;2.计算并 返回值,这种情况下函数作为赋值语句的表达式使用。 function function_name( ... ) -- body end Lua使用的函数可以是Lua编写也可以是其他语言编写,对于Lua程序员来说用什 么语言实现的函数使用起来都一样。 Lua函数实参和形参的匹配与赋值语句类... 阅读全文
posted @ 2015-04-03 18:43 hongjack 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 第一章 概览 1、chunks chunks是一系列语句, lua执行的每一块语句,比如一个文件或者交互模式下的每一行都是一个chunks。 2、全局变量 全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,全局变量的初始值为 print(b) -->nil b = 10 print(b) -->10 ... 阅读全文
posted @ 2015-04-03 18:07 hongjack 阅读(1995) 评论(0) 推荐(0) 编辑
摘要: 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而... 阅读全文
posted @ 2015-04-03 17:06 hongjack 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: 所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的。而且lua越做越精简了,5.1的版本里面还有一些test的例子之类的,5.2就只剩下必须的内容了。 然后,如果是第一次编译lua,还是建议看一下doc文件夹下面的 readme.html。我就是通过那个才知道编译lua必备的文件的。 通过readm... 阅读全文
posted @ 2015-04-03 15:04 hongjack 阅读(5122) 评论(0) 推荐(0) 编辑
摘要: 1、开发环境 去网上下载一个 Lua for Windows 下载地址: http://luaforge.net/projects/luaforwindows/ 2、lua扩展名 .lua 3、快速入门 1、helloworld print "hello world" print("hello world") --注释 多行注释 ... 阅读全文
posted @ 2015-04-03 11:44 hongjack 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 1、object关键字相当于C++中的struct, record定义个结构体只能定义数据,而object可以定义方法,默认都是public的。 代码示例如下: TTest = record name: string; age: Integer; end; TTest2 = object name: string; age: Integer;... 阅读全文
posted @ 2015-03-31 15:45 hongjack 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 一、套接字模式 1、阻塞模式 创建套接字时,默认是阻塞模式,对recv函数调用会使程序进入等待状态,知道接收到数据才返回。 2、非阻塞模式: 可以调用ioctlsocket函数显式地让套接字工作在非阻塞模式下。 u_long ul = 1; SOCKET s = ::socket(AF_INET,SOCK_STREAM,0); ::io... 阅读全文
posted @ 2015-03-27 16:32 hongjack 阅读(503) 评论(0) 推荐(0) 编辑