Browsed by
Month: September 2006

lua 学习笔记7

lua 学习笔记7

/*******************/  自定义数据文件/*******************/常常有大量数据需要引入,有没有更加人性化的输入方式呢?在lua中,可以采用下面的方式: 定义数据文件data:其格式如:    Entry{"Donald E. Knuth",          "Literate Programming",          "CSLI",          1992}        Entry{"Jon Bentley",          "More Programming Pearls",          "Addison-Wesley",          1990}ps:Entry{…} 和Entry({…})是一样的意思,调用Entry函数。 然后在需要引用数据的地方,采用dofile("data")来导入数据。 处理时,要预先加入function Entry(b)来对引用的数据进行处理 例如,我们需要统计上面的数据中第一项的个数    local count = 0    function Entry (b) count = count + 1 end    dofile("data")    print("number of entries: " .. count) /*******************/  保存表格的内容/*******************/ 有时候需要把lua中的表格内容保存到文件中,并且保存的格式是可以直接读取的语法形式,在表格中的引用也要相应的保存起来.     function basicSerialize (o)      if type(o) == "number" then        return tostring(o)      else   — assume it is a string        return string.format("%q", o)      end    end   function save (name, value, saved)      saved = saved or {}       — initial…

Read More Read More

lua 学习笔记6

lua 学习笔记6

/********************/    双向队列的练习/********************/看了lua有段时间,还没有实际写过程序,正好,这一章是关于建立双向队列的。看了书后,自己按照记忆复习了一遍。 — double quenue Practice doubleQueue = {} function doubleQueue.create () doubleQueue.q = {first = 0,last = 1}end function doubleQueue.pushLeft(value) local first = doubleQueue.q.first – 1 doubleQueue.q.first = first doubleQueue.q[first] = valueend function doubleQueue.pushRight(value) local last = doubleQueue.q.last + 1 doubleQueue.q.last = last doubleQueue.q[last] = valueend function doubleQueue.popLeft() local first = doubleQueue.q.first if first + 1 < doubleQueue.q.last then  doubleQueue.q.first = first + 1 else        error("list is empty") end local value = doubleQueue.q[first] doubleQueue.q[first] = nil return valueend function doubleQueue.popRight() local last = doubleQueue.q.last if last – 1 > doubleQueue.q.first then     doubleQueue.q.last = last – 1 else …

Read More Read More

[z]96首英文歌

[z]96首英文歌

1. don’t cry–guns n’ roses我所认真听完的第一首摇滚,这首歌曾唱哭了千万人。总是能够触痛了心底最软的地方,心抽痛着,眼圈红了,却没有眼泪渗 出,每多听一次就多一次的依恋… 2. fade to black–METAllic金属乐队也有很经典歌曲,我相信国内有好多人都是听了这首歌的前奏才去学吉他的!METALLI CA经典中的经典,也是METALLICA饱受争议的作品,因为当时有乐迷自杀就是出于这首歌,胆小别听哦~ 3. dreaming my dream–cranberries有着王菲一样变幻倚俪的唱腔,高雅离开了原本浩渺的苍穹来到人间,它带着冷漠的美艳,但又 说着人身上的变动和永恒,爱尔兰的卡百利乐队就这样汲取了精灵与传说的浩渺气质,沟通了人间和天空的美,把人的故事,爱情,历史 ,死亡,社会都融进那飘忽而真切的女声中…(卡百利,本是蔓声浆果的藤蔓) 4. dying in the sun–cranberries不断地重复着放这首歌,简短迂回的旋律,简短迂回的歌词。我就平躺在这样的歌里,晕乎乎的,渴 望在阳光下睡死… 5. never grow old–cranberries 最近常听朋友们说时间过得好快~! 感觉自己在一天一天的虚度光阴! 不由得想起了这支歌~! 6. far away from home–groove coverage德国新晋乐队,这首歌已被众多知名DJ誉为当今舞曲最为精华的传世之作,听了不下几百遍了,旋律好的很,女声好 的很… 7. knocking on heaven’s door–guns n’ roses(“野蛮师姐”主题曲)艾薇儿翻唱的和枪花版的都给人一种爽歪的感觉,当然女生版的更加恬静,睡觉之前我都要听的。 8. imagine–john lennon约翰列侬是全世界最成功的摇滚乐队“甲壳虫”(beatles)的灵魂人物,死于1980年12月8日,是被一名狂 热的歌迷开枪打死的,他的死震惊了世界,他在六十年代吸毒,目无宗教和go-vern-ment,在七十年代致力研究东方宗教和 宣扬童话般的爱(有一颗小星星是以他的名字命名的),这声音听来象预言者的祈祷,而歌词依然是固执的理想,或许列侬所要求的泰国 绝对,太过纯洁,但作为梦,难道你我就不曾有过吗? 9. yesterday–beatles这么经典的还说什么呢,电台点播率已经超过一亿次了,没听过的太逊了。 10. let it be–beatles昔日创下了榜史纪录,也是Beatles解散时成员们的心态写照。有时候生命的意义在于过程,至于结果就 让它Let it be… 11. it’s my life–bon jovi我比较早喜欢的一首歌..曾用来做CS的MTV背景音乐。 12. that’s why(you go away)–meachael learns to rock半路在一家美发店的门前听到了that’s why (you go away)的钢琴版!!! 感觉很好,这样听起来That’s why就更经典了! (放的声音越大越有感觉哦) 13….

Read More Read More

lua 学习笔记5

lua 学习笔记5

/*********************/     载入外界库/*********************/The loadlib function loads the given library and links Lua to it. However, it does not open the library (that is, it does not call the initialization function); instead, it returns the initialization function as a Lua function, so that we can call it directly from Lua. If there is any error loading the library or finding the initialization function, loadlib returns nil plus an error message. We can improve our previous fragment so that it checks for errors…

Read More Read More

lua 学习笔记4

lua 学习笔记4

/**********************/  Proper Tail Calls/**********************/Proper Tail Calls有着类似goto的功能,不过它只能是调用函数。我们都知道,调用函数会占用栈资源,当频繁的在函数中互相调用时,很容易就会使得栈资源耗尽。在lua中,设计了一种用法,叫Proper Tail Calls,它可以时间函数调用,并且不会占用新的栈资源。用法:In Lua, only a call in the format return g(…) is a tail call. 例子:let us consider a simple maze game. The maze has several rooms, each with up to four doors: north, south, east, and west. At each step, the user enters a movement direction. If there is a door in that direction, the user goes to the corresponding room; otherwise, the program prints a warning. The goal is to go from…

Read More Read More

lua 学习笔记3

lua 学习笔记3

a global variable is existent if (and only if) it has a non-nil value. Lua is case-sensitive /********************/ 在lua 中注释的妙用/********************/ A comment starts anywhere with a double hyphen (–) and runs until the end of the line. Lua also offers block comments, which start with –[[ and run until the corresponding ]]. A common trick, when we want to comment out a piece of code, is to write the following:     –[[    print(10)         — no action (comment)    –]] 现在如果,我们在之前加入一个-,那么就可以取消注释的语句Now, if we…

Read More Read More

lua 学习笔记2

lua 学习笔记2

任何对字符串的算术操作都会现尝试把字符串转换成数字,使用一般规则转换。当一个数值用在需要字符串的地方时,数字会自动转换成字符串。在变量第一次赋值之前,它的值是 nil。

lua 学习笔记1

lua 学习笔记1

lua 学习笔记1 I.语句 /*******************/    条件控制/*******************/if 条件 then … elseif 条件 then … else … endWhile循环:while 条件 do … endRepeat循环:repeat … until 条件For循环:for 变量 = 初值,终点值,步进 do … endFor循环:for 变量1,变量2,… ,变量N in表或枚举函数 do … end 语句块在C++中是用"{"和"}"括起来的,在Lua中,它是用do 和 end 括起来的。 在默认情况下,变量总是认为是全局的。假如你要定义局部变量,则在第一次赋值的时候,需要用local说明。 Lua中"^"表示指数乘方运算。比如2^3 结果为8, 2^4结果为16。 /*******************/     比较运算/*******************/    < > <= >= == ~=    分别表示 小于,大于,不大于,不小于,相等,不相等    所有这些操作符总是返回true或false。    对于Table,Function和Userdata类型的数据,只有 == 和 ~=可以用。相等表示两个变量引用的是同一个数据。比如:    a={1,2}    b=a    print(a==b, a~=b)  — true, false    a={1,2}    b={1,2}    print(a==b, a~=b)  — false, true  在Lua中,只有false和nil才计算为false,其它任何数据都计算为true,0也是true!  and 和 or的运算结果不是true和false,而是和它的两个操作数相关。    a and b:如果a为false,则返回a;否则返回b    a or b:如果 a 为true,则返回a;否则返回b     举几个例子:     print(4 and 5) –> 5     print(nil and 13)…

Read More Read More

休息一下

休息一下

好累,从内蒙旅游归来。 需要好好休息。 明天还得早起,好郁闷。   ps: 一些有用的道理: 1、在追求财富时,放弃理想,往往会得到相反的结果。而在追求理想的过程中,往往会自然的享有财富。 2、拿出一些勇气去做自己想做的事,不要去想后果。

blue jokes(for adult :))

blue jokes(for adult :))

    “你说我怎么回事儿?我和护士……。”他脸上的肉直抽搐。   “怎么了?吵架了?还是不合适?”我说   “不是,咳,我就直说吧,我问你,你和蓝悦一般都几分钟。”   把我问傻了,我也知道他想说什么了。   “反正你这种体质的超过10分钟就算胜利。”我鄙视说。   “10分钟,别扯淡了你,我不到2分钟就能完事儿。”   “哇哈哈。”蓝悦从桌子后面突然蹦了出来。   青山同志恼羞成怒,甩门出去了。   蓝悦跟了出去,使劲烦着赵青山。小护士坐在旁边还不知道怎么回事   “蓝蓝,你怎么跟他蹭来蹭去的?”彭佳说。   “2分钟啊2分钟。”蓝悦一边晃着青山胳膊一边说。   “行了啊,给哥点面子。”老赵说。   此时小护士仿佛明白了点什么。   “两分钟呀两分钟”她还在说。看来只要老赵一急,她一高兴才能完:“水深火热两分钟呀激情交叉两分钟。”   “脱了穿上搁多久啊,中间就搁两分钟。”   她太多分了,彭佳和老赵目不转睛地看着电视里的<<动物世界>>,脸红的像两个西红柿摆一块。   此时电视里的一句话引起青山的注意,那个声音说:“雄狮的交配过程一般两分钟结束。”   画面上两头狮子在交配。   “看到没看到没哈哈。”老赵也不顾护士的感受,激动地跳了起来:“我和雄狮一样,我和雄狮一样哈哈。”   他使劲指着电视,蓝悦被他的举动刺激了,瞪着大眼看着电视,皱着眉头。   电视里的交配持续了一分钟,老赵仿佛一下有了自尊,手一直指着电视。很是激动。   这时候主持人又说话了:“像这样的交配,狮子一天可以进行50次以上,有的甚至达到200次。”   青山傻了,蓝悦爆发了一阵疯狂的大笑。