<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>真好吃 &#187; Lua</title>
	<atom:link href="http://tgic.me/tag/lua/feed/" rel="self" type="application/rss+xml" />
	<link>http://tgic.me</link>
	<description>blog真的很好吃</description>
	<lastBuildDate>Sun, 01 Jan 2012 17:31:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Myslot 3.35 CWOW Bugfix 2</title>
		<link>http://tgic.me/2011/03/08/myslot-3-35-cwow-bugfix-2/</link>
		<comments>http://tgic.me/2011/03/08/myslot-3-35-cwow-bugfix-2/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 14:33:52 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>

		<guid isPermaLink="false">http://tgic.me/?p=883</guid>
		<description><![CDATA[感谢 lahai99 帮助发现 bug 下载MySlot &#160; 感激 这么长时间 各种 用户的 支持 另外 4.x http://tgic.me/2010/12/26/myslot-4-0-bug-fix/ 可以在这里找到]]></description>
			<content:encoded><![CDATA[<p>感谢 lahai99 帮助发现 bug</p>
<h1><a href="http://tgic.me/wp-content/uploads/2011/03/MySlot.zip">下载MySlot</a></h1>
<p>&nbsp;</p>
<p>感激 这么长时间 各种 用户的 支持</p>
<p>另外 4.x</p>
<p>http://tgic.me/2010/12/26/myslot-4-0-bug-fix/ 可以在这里找到</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2011/03/08/myslot-3-35-cwow-bugfix-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WelTo for 3.xx 4.xx</title>
		<link>http://tgic.me/2010/10/17/welto-for-3-xx-4-xx/</link>
		<comments>http://tgic.me/2010/10/17/welto-for-3-xx-4-xx/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 04:02:56 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://farmer1992.phpsix.net/?p=838</guid>
		<description><![CDATA[这个老东西 是1.0 时代 我做 知会 时候 开发的 也使我第一个插件 2.0 时代 升级为 ACE2 插件 后来 就忘记了…… 下载 WelTo 值得一提的是 新的 WelTo 将欢迎词 从core.lua 移动到  text.lua 这样添加和修改 就不会 影响主程序了 居然还有人 喜欢他…… 升级 升级 我国服我2B]]></description>
			<content:encoded><![CDATA[<p>这个老东西 是1.0 时代</p>
<p>我做 知会 时候 开发的 也使我第一个插件</p>
<p>2.0 时代 升级为 ACE2 插件 后来 就忘记了……</p>
<h1>下载 <a href="http://farmer1992.phpsix.net/wp-content/uploads/2010/10/WelTo.zip">WelTo</a></h1>
<p>值得一提的是 新的 WelTo 将欢迎词 从core.lua 移动到  text.lua</p>
<p>这样添加和修改 就不会 影响主程序了</p>
<p>居然还有人 喜欢他……</p>
<p>升级 升级 我国服我2B</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2010/10/17/welto-for-3-xx-4-xx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>我差点就去写lua了&#8230;nga</title>
		<link>http://tgic.me/2010/08/07/%e6%88%91%e5%b7%ae%e7%82%b9%e5%b0%b1%e5%8e%bb%e5%86%99lua%e4%ba%86-nga/</link>
		<comments>http://tgic.me/2010/08/07/%e6%88%91%e5%b7%ae%e7%82%b9%e5%b0%b1%e5%8e%bb%e5%86%99lua%e4%ba%86-nga/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 15:29:51 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[人生啊]]></category>

		<guid isPermaLink="false">http://farmer1992.phpsix.net/?p=808</guid>
		<description><![CDATA[看到 nga 招 lua 打工仔 百感交集 我就是一个屁民 自学了 lua 给wow写扩展 battleinfo 和 myslot 比较成功 积累了一些用户 后来 愚昧的 大学教育结束了 本来也想跟 duowan 沟通了一下 我进城 务工 开始去 面试c++ 一老板 感觉不错 一问 我说我想做 网络…… 就黄了 第一次 面试 lua 这样的 小语种 我非常喜欢 小而精 不过 …… 找不到饭吃 最后 只能去comsenz找了一个 php 的工作 混饭吃 现在 也就 这样了 基本 没多少机会写lua了啊 人生就这样了 为了 做目标 需要 [...]]]></description>
			<content:encoded><![CDATA[<p>看到 nga 招 lua 打工仔<br />
百感交集</p>
<p>我就是一个屁民<br />
自学了 lua 给wow写扩展 battleinfo 和 myslot 比较成功<br />
积累了一些用户<br />
后来 愚昧的 大学教育结束了<br />
本来也想跟 duowan 沟通了一下<br />
我进城 务工  </p>
<p>开始去 面试c++ 一老板 感觉不错 一问 我说我想做 网络…… 就黄了<br />
第一次 面试</p>
<p>lua 这样的 小语种 我非常喜欢 小而精<br />
不过 …… 找不到饭吃 最后 只能去comsenz找了一个 php 的工作 混饭吃<br />
现在 也就 这样了<br />
基本 没多少机会写lua了啊</p>
<p>人生就这样了 为了 做目标 需要 作出牺牲<br />
如果 nga 早写 招lua 打工的就好了……</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2010/08/07/%e6%88%91%e5%b7%ae%e7%82%b9%e5%b0%b1%e5%8e%bb%e5%86%99lua%e4%ba%86-nga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>closure</title>
		<link>http://tgic.me/2009/02/15/closure/</link>
		<comments>http://tgic.me/2009/02/15/closure/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 11:03:00 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Lua]]></category>

		<guid isPermaLink="false">http://farmer1992.wordpress.com/2009/02/15/closure/</guid>
		<description><![CDATA[javascript中的这个概念 不好理解终于 我通过lua 好像理解了他的概念 lua把一切算作 变量是一个简单有效的行为_G 不就是window么……哈哈]]></description>
			<content:encoded><![CDATA[<p>javascript中的这个概念 不好理解<br />终于 我通过lua 好像理解了他的概念</p>
<p>lua把一切算作 变量是一个简单有效的行为<br />_G 不就是window么……<br />哈哈</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2009/02/15/closure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>目前我思考时间最长的程序 lua base64与哈夫曼的结合</title>
		<link>http://tgic.me/2009/02/04/%e7%9b%ae%e5%89%8d%e6%88%91%e6%80%9d%e8%80%83%e6%97%b6%e9%97%b4%e6%9c%80%e9%95%bf%e7%9a%84%e7%a8%8b%e5%ba%8f-lua-base64%e4%b8%8e%e5%93%88%e5%a4%ab%e6%9b%bc%e7%9a%84%e7%bb%93%e5%90%88/</link>
		<comments>http://tgic.me/2009/02/04/%e7%9b%ae%e5%89%8d%e6%88%91%e6%80%9d%e8%80%83%e6%97%b6%e9%97%b4%e6%9c%80%e9%95%bf%e7%9a%84%e7%a8%8b%e5%ba%8f-lua-base64%e4%b8%8e%e5%93%88%e5%a4%ab%e6%9b%bc%e7%9a%84%e7%bb%93%e5%90%88/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 14:08:00 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>

		<guid isPermaLink="false">http://farmer1992.wordpress.com/2009/02/04/%e7%9b%ae%e5%89%8d%e6%88%91%e6%80%9d%e8%80%83%e6%97%b6%e9%97%b4%e6%9c%80%e9%95%bf%e7%9a%84%e7%a8%8b%e5%ba%8f-lua-base64%e4%b8%8e%e5%93%88%e5%a4%ab%e6%9b%bc%e7%9a%84%e7%bb%93%e5%90%88/</guid>
		<description><![CDATA[想了 大约 2个月 我效果非常满意 humbase64.lua &#8211;[[ haffman compressed spical base64 by T.G.(farmer1992@gmail.com) QQ 22267156]] local base64chars = {[0]=&#8217;A',[1]=&#8217;B',[2]=&#8217;C',[3]=&#8217;D',[4]=&#8217;E',[5]=&#8217;F',[6]=&#8217;G',[7]=&#8217;H',[8]=&#8217;I',[9]=&#8217;J',[10]=&#8217;K',[11]=&#8217;L',[12]=&#8217;M',[13]=&#8217;N',[14]=&#8217;O',[15]=&#8217;P',[16]=&#8217;Q',[17]=&#8217;R',[18]=&#8217;S',[19]=&#8217;T',[20]=&#8217;U',[21]=&#8217;V',[22]=&#8217;W',[23]=&#8217;X',[24]=&#8217;Y',[25]=&#8217;Z',[26]=&#8217;a',[27]=&#8217;b',[28]=&#8217;c',[29]=&#8217;d',[30]=&#8217;e',[31]=&#8217;f',[32]=&#8217;g',[33]=&#8217;h',[34]=&#8217;i',[35]=&#8217;j',[36]=&#8217;k',[37]=&#8217;l',[38]=&#8217;m',[39]=&#8217;n',[40]=&#8217;o',[41]=&#8217;p',[42]=&#8217;q',[43]=&#8217;r',[44]=&#8217;s',[45]=&#8217;t',[46]=&#8217;u',[47]=&#8217;v',[48]=&#8217;w',[49]=&#8217;x',[50]=&#8217;y',[51]=&#8217;z',[52]=&#8217;0&#8242;,[53]=&#8217;1&#8242;,[54]=&#8217;2&#8242;,[55]=&#8217;3&#8242;,[56]=&#8217;4&#8242;,[57]=&#8217;5&#8242;,[58]=&#8217;6&#8242;,[59]=&#8217;7&#8242;,[60]=&#8217;8&#8242;,[61]=&#8217;9&#8242;,[62]=&#8217;-',[63]=&#8217;_'}local base64bytes = {['-']=”111110&#8243;,['_']=”111111&#8243;,['0']=”110100&#8243;,['1']=”110101&#8243;,['2']=”110110&#8243;,['3']=”110111&#8243;,['4']=”111000&#8243;,['5']=”111001&#8243;,['6']=”111010&#8243;,['7']=”111011&#8243;,['8']=”111100&#8243;,['9']=”111101&#8243;,['A']=”000000&#8243;,['a']=”011010&#8243;,['B']=”000001&#8243;,['b']=”011011&#8243;,['C']=”000010&#8243;,['c']=”011100&#8243;,['D']=”000011&#8243;,['d']=”011101&#8243;,['E']=”000100&#8243;,['e']=”011110&#8243;,['F']=”000101&#8243;,['f']=”011111&#8243;,['G']=”000110&#8243;,['g']=”100000&#8243;,['H']=”000111&#8243;,['h']=”100001&#8243;,['I']=”001000&#8243;,['i']=”100010&#8243;,['J']=”001001&#8243;,['j']=”100011&#8243;,['K']=”001010&#8243;,['k']=”100100&#8243;,['L']=”001011&#8243;,['l']=”100101&#8243;,['M']=”001100&#8243;,['m']=”100110&#8243;,['N']=”001101&#8243;,['n']=”100111&#8243;,['O']=”001110&#8243;,['o']=”101000&#8243;,['P']=”001111&#8243;,['p']=”101001&#8243;,['Q']=”010000&#8243;,['q']=”101010&#8243;,['R']=”010001&#8243;,['r']=”101011&#8243;,['S']=”010010&#8243;,['s']=”101100&#8243;,['T']=”010011&#8243;,['t']=”101101&#8243;,['U']=”010100&#8243;,['u']=”101110&#8243;,['V']=”010101&#8243;,['v']=”101111&#8243;,['W']=”010110&#8243;,['w']=”110000&#8243;,['X']=”010111&#8243;,['x']=”110001&#8243;,['Y']=”011000&#8243;,['y']=”110010&#8243;,['Z']=”011001&#8243;,['z']=”110011&#8243;} local haffman_t={[0]=”00&#8243;,[1]=”01&#8243;,[2]=”100&#8243;,[3]=”101&#8243;,[4]=”1100&#8243;,[5]=”1101&#8243;,[6]=”11100&#8243;,[7]=”11101&#8243;,[8]=”111100&#8243;,[9]=”111101&#8243;,[10]=”1111100&#8243;,[11]=”1111101&#8243;,[12]=”11111100&#8243;,[13]=”11111101&#8243;,[14]=”111111100&#8243;,[15]=”111111101&#8243;,} &#8211; enc begin local function tobase64char(num) while string.len(num)~=6 do num=num..”1&#8243; end return base64chars[(tonumber(num,2))]end local function enc(data) local count_t={[1]={n=”0&#8243;,p=0},[2]={n=”1&#8243;,p=0},[3]={n=”2&#8243;,p=0},[4]={n=”3&#8243;,p=0},[5]={n=”4&#8243;,p=0},[6]={n=”5&#8243;,p=0},[7]={n=”6&#8243;,p=0},[8]={n=”7&#8243;,p=0},[9]={n=”8&#8243;,p=0},[10]={n=”9&#8243;,p=0},[11]={n=”a”,p=0},[12]={n=”b”,p=0},[13]={n=”c”,p=0},[14]={n=”d”,p=0},[15]={n=”e”,p=0},[16]={n=”f”,p=0},} local data_str={} for i=1,string.len(data) do n=string.byte(data,i) a=n%16 b=(n-a)/16 count_t[a+1].p=count_t[a+1].p+1 count_t[b+1].p=count_t[b+1].p+1 data_str[#data_str+1]=b data_str[#data_str+1]=a end table.sort(count_t,function(a,b) [...]]]></description>
			<content:encoded><![CDATA[<p>想了 大约 2个月</p>
<p>我效果非常满意</p>
<p>humbase64.lua</p>
<p>&#8211;[[</p>
<p>    haffman compressed spical base64 by T.G.(farmer1992@gmail.com)<br />    QQ 22267156<br />]]</p>
<p>local base64chars = {[0]=&#8217;A',[1]=&#8217;B',[2]=&#8217;C',[3]=&#8217;D',[4]=&#8217;E',[5]=&#8217;F',[6]=&#8217;G',[7]=&#8217;H',[8]=&#8217;I',[9]=&#8217;J',[10]=&#8217;K',[11]=&#8217;L',[12]=&#8217;M',[13]=&#8217;N',[14]=&#8217;O',[15]=&#8217;P',[16]=&#8217;Q',[17]=&#8217;R',[18]=&#8217;S',[19]=&#8217;T',[20]=&#8217;U',[21]=&#8217;V',[22]=&#8217;W',[23]=&#8217;X',[24]=&#8217;Y',[25]=&#8217;Z',[26]=&#8217;a',[27]=&#8217;b',[28]=&#8217;c',[29]=&#8217;d',[30]=&#8217;e',[31]=&#8217;f',[32]=&#8217;g',[33]=&#8217;h',[34]=&#8217;i',[35]=&#8217;j',[36]=&#8217;k',[37]=&#8217;l',[38]=&#8217;m',[39]=&#8217;n',[40]=&#8217;o',[41]=&#8217;p',[42]=&#8217;q',[43]=&#8217;r',[44]=&#8217;s',[45]=&#8217;t',[46]=&#8217;u',[47]=&#8217;v',[48]=&#8217;w',[49]=&#8217;x',[50]=&#8217;y',[51]=&#8217;z',[52]=&#8217;0&#8242;,[53]=&#8217;1&#8242;,[54]=&#8217;2&#8242;,[55]=&#8217;3&#8242;,[56]=&#8217;4&#8242;,[57]=&#8217;5&#8242;,[58]=&#8217;6&#8242;,[59]=&#8217;7&#8242;,[60]=&#8217;8&#8242;,[61]=&#8217;9&#8242;,[62]=&#8217;-',[63]=&#8217;_'}<br />local base64bytes = {['-']=”111110&#8243;,['_']=”111111&#8243;,['0']=”110100&#8243;,['1']=”110101&#8243;,['2']=”110110&#8243;,['3']=”110111&#8243;,['4']=”111000&#8243;,['5']=”111001&#8243;,['6']=”111010&#8243;,['7']=”111011&#8243;,['8']=”111100&#8243;,['9']=”111101&#8243;,['A']=”000000&#8243;,['a']=”011010&#8243;,['B']=”000001&#8243;,['b']=”011011&#8243;,['C']=”000010&#8243;,['c']=”011100&#8243;,['D']=”000011&#8243;,['d']=”011101&#8243;,['E']=”000100&#8243;,['e']=”011110&#8243;,['F']=”000101&#8243;,['f']=”011111&#8243;,['G']=”000110&#8243;,['g']=”100000&#8243;,['H']=”000111&#8243;,['h']=”100001&#8243;,['I']=”001000&#8243;,['i']=”100010&#8243;,['J']=”001001&#8243;,['j']=”100011&#8243;,['K']=”001010&#8243;,['k']=”100100&#8243;,['L']=”001011&#8243;,['l']=”100101&#8243;,['M']=”001100&#8243;,['m']=”100110&#8243;,['N']=”001101&#8243;,['n']=”100111&#8243;,['O']=”001110&#8243;,['o']=”101000&#8243;,['P']=”001111&#8243;,['p']=”101001&#8243;,['Q']=”010000&#8243;,['q']=”101010&#8243;,['R']=”010001&#8243;,['r']=”101011&#8243;,['S']=”010010&#8243;,['s']=”101100&#8243;,['T']=”010011&#8243;,['t']=”101101&#8243;,['U']=”010100&#8243;,['u']=”101110&#8243;,['V']=”010101&#8243;,['v']=”101111&#8243;,['W']=”010110&#8243;,['w']=”110000&#8243;,['X']=”010111&#8243;,['x']=”110001&#8243;,['Y']=”011000&#8243;,['y']=”110010&#8243;,['Z']=”011001&#8243;,['z']=”110011&#8243;}</p>
<p>local haffman_t={[0]=”00&#8243;,[1]=”01&#8243;,[2]=”100&#8243;,[3]=”101&#8243;,[4]=”1100&#8243;,[5]=”1101&#8243;,[6]=”11100&#8243;,[7]=”11101&#8243;,[8]=”111100&#8243;,[9]=”111101&#8243;,[10]=”1111100&#8243;,[11]=”1111101&#8243;,[12]=”11111100&#8243;,[13]=”11111101&#8243;,[14]=”111111100&#8243;,[15]=”111111101&#8243;,}</p>
<p>&#8211; enc begin</p>
<p>local function tobase64char(num)<br />    while string.len(num)~=6 do<br />        num=num..”1&#8243;<br />    end<br />    return base64chars[(tonumber(num,2))]<br />end</p>
<p>local function enc(data)</p>
<p>    local count_t={[1]={n=”0&#8243;,p=0},[2]={n=”1&#8243;,p=0},[3]={n=”2&#8243;,p=0},[4]={n=”3&#8243;,p=0},[5]={n=”4&#8243;,p=0},[6]={n=”5&#8243;,p=0},[7]={n=”6&#8243;,p=0},[8]={n=”7&#8243;,p=0},[9]={n=”8&#8243;,p=0},[10]={n=”9&#8243;,p=0},[11]={n=”a”,p=0},[12]={n=”b”,p=0},[13]={n=”c”,p=0},[14]={n=”d”,p=0},[15]={n=”e”,p=0},[16]={n=”f”,p=0},}<br />    local data_str={}</p>
<p>    for i=1,string.len(data) do<br />        n=string.byte(data,i)<br />        a=n%16<br />        b=(n-a)/16</p>
<p>        count_t[a+1].p=count_t[a+1].p+1<br />        count_t[b+1].p=count_t[b+1].p+1</p>
<p>        data_str[#data_str+1]=b<br />        data_str[#data_str+1]=a<br />    end</p>
<p>    table.sort(count_t,function(a,b) return a.p&gt;b.p end)</p>
<p>    local out_str={}<br />    local this_haffman_t={}</p>
<p>    for i,v in ipairs(count_t) do<br />        this_haffman_t[tonumber(v.n,16)]=haffman_t[i-1]<br />        out_str[#out_str+1]=v.n<br />    end</p>
<p>    for i,v in ipairs(data_str) do<br />        data_str[i]=this_haffman_t[v]<br />    end</p>
<p>    local bin_str=table.concat(data_str)</p>
<p>    for i=1,string.len(bin_str),6 do<br />        local bin6=string.sub(bin_str,i,i+5)<br />        out_str[#out_str+1]=tobase64char(bin6)<br />    end</p>
<p>    return table.concat(out_str)<br />end</p>
<p>&#8211; enc end</p>
<p>&#8211; dec begin</p>
<p>local function readabit(s)<br />    local i=0<br />    return function()<br />        i=i+1<br />        return string.sub(s,i,i) or “”<br />    end<br />end</p>
<p>local function getxbit(r,h)<br />    local t=”"<br />    while(r()==”1&#8243;) do<br />        t=t..”1&#8243;<br />    end</p>
<p>    t=t..”0&#8243;..r()<br />    return h[t] or “X”<br />end</p>
<p>local function dec(data)</p>
<p>    local this_haffman_t={}</p>
<p>    for i=1,16 do<br />        this_haffman_t[haffman_t[i-1]]=(string.sub(data,i,i))<br />    end</p>
<p>    local t={}<br />    for i=17,string.len(data) do<br />        t[#t+1]=base64bytes[(string.sub(data,i,i))]<br />    end</p>
<p>    local reader=readabit(table.concat(t))</p>
<p>    local temp=getxbit(reader,this_haffman_t)</p>
<p>    local out_str={}</p>
<p>    while temp~=”X” do<br />        out_str[#out_str+1]=string.char(tonumber(temp..getxbit(reader,this_haffman_t),16))<br />        temp=getxbit(reader,this_haffman_t)<br />    end</p>
<p>    return table.concat(out_str)<br />end</p>
<p>HumBase64={<br />    enc=enc,<br />    dec=dec,<br />}</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2009/02/04/%e7%9b%ae%e5%89%8d%e6%88%91%e6%80%9d%e8%80%83%e6%97%b6%e9%97%b4%e6%9c%80%e9%95%bf%e7%9a%84%e7%a8%8b%e5%ba%8f-lua-base64%e4%b8%8e%e5%93%88%e5%a4%ab%e6%9b%bc%e7%9a%84%e7%bb%93%e5%90%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的BASE64</title>
		<link>http://tgic.me/2009/02/02/%e6%88%91%e7%9a%84base64/</link>
		<comments>http://tgic.me/2009/02/02/%e6%88%91%e7%9a%84base64/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 14:13:00 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>

		<guid isPermaLink="false">http://farmer1992.wordpress.com/2009/02/02/%e6%88%91%e7%9a%84base64/</guid>
		<description><![CDATA[想法很好啊因为我发现 Base64 加密字符会引起字符更长这是必然的 因为用64个字符表示 所有字符 就一定会更长 所以我设计了一个 改进的base64 期望能减少base64后的长度原理是 哈夫曼 压缩 #1MY:15462BASE64:17388ORG:13040 #2MY:630BASE64:712ORG:533 #3MY:3219BASE64:3596ORG:2696 #4MY:15915BASE64:18124ORG:13592 #5MY:35638BASE64:34820ORG:26114 经过几轮测试 好思想是起作用了……居然还有输给 原base64的时候哎 看来还得努力啊压缩不容易啊不过霍夫曼这家伙 …… 是个老头]]></description>
			<content:encoded><![CDATA[<p>想法很好啊<br />因为我发现 Base64 加密字符会引起字符更长<br />这是必然的 因为用64个字符表示 所有字符 就一定会更长</p>
<p>所以我设计了一个 改进的base64 期望能减少base64后的长度<br />原理是 哈夫曼 压缩</p>
<p>#1<br />MY:15462<br />BASE64:17388<br />ORG:13040</p>
<p>#2<br />MY:630<br />BASE64:712<br />ORG:533</p>
<p>#3<br />MY:3219<br />BASE64:3596<br />ORG:2696</p>
<p>#4<br />MY:15915<br />BASE64:18124<br />ORG:13592</p>
<p>#5<br />MY:35638<br />BASE64:34820<br />ORG:26114</p>
<p>经过几轮测试 好思想是起作用了……<br />居然还有输给 原base64的时候<br />哎</p>
<p>看来还得努力啊<br />压缩不容易啊<br />不过霍夫曼这家伙 …… 是个老头</p>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2009/02/02/%e6%88%91%e7%9a%84base64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基本函数库为Lua内置的函数库</title>
		<link>http://tgic.me/2008/03/30/%e5%9f%ba%e6%9c%ac%e5%87%bd%e6%95%b0%e5%ba%93%e4%b8%balua%e5%86%85%e7%bd%ae%e7%9a%84%e5%87%bd%e6%95%b0%e5%ba%93/</link>
		<comments>http://tgic.me/2008/03/30/%e5%9f%ba%e6%9c%ac%e5%87%bd%e6%95%b0%e5%ba%93%e4%b8%balua%e5%86%85%e7%bd%ae%e7%9a%84%e5%87%bd%e6%95%b0%e5%ba%93/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 04:40:00 +0000</pubDate>
		<dc:creator>T.G.</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Lua]]></category>

		<guid isPermaLink="false">http://farmer1992.wordpress.com/2008/03/30/%e5%9f%ba%e6%9c%ac%e5%87%bd%e6%95%b0%e5%ba%93%e4%b8%balua%e5%86%85%e7%bd%ae%e7%9a%84%e5%87%bd%e6%95%b0%e5%ba%93/</guid>
		<description><![CDATA[　　【IT168 技术文档】基本函数库为Lua内置的函数库，不需要额外装载 　　1、assert (v [, message]) 　　功能：相当于C的断言， 　　参数： 　　v：当表达式v为nil或false将触发错误, 　　message：发生错误时返回的信息，默认为”assertion failed!” 　　2、collectgarbage (opt [, arg]) 　　功能：是垃圾收集器的通用接口，用于操作垃圾收集器 　　参数： 　　opt：操作方法标志 　　”Stop”: 停止垃圾收集器 　　”Restart”: 重启垃圾收集器 　　”Collect”: 执行一次全垃圾收集循环 　　”Count”: 返回当前Lua中使用的内存量(以KB为单位) 　　”Step”: 单步执行一个垃圾收集. 步长 “Size” 由参数arg指定　(大型的值需要多步才能完成)，如果要准确指定步长，需要多次实验以达最优效果。如果步长完成一次收集循环，将返回True 　　”Setpause”: 设置 arg/100 的值作为暂定收集的时长 　　”Setstepmul”: 设置 arg/100 的值，作为步长的增幅(即新步长=旧步长*arg/100) 　　3、dofile (filename) 　　功能：打开并且执行一个lua块,当忽略参数filename时，将执行标准输入设备(stdin)的内容。返回所有块的返回值。当发生错误时，dofile将错误反射给调用者 　　注：dofile不能在保护模式下运行 　　4、error (message [, level]) 　　功能：终止正在执行的函数，并返回message的内容作为错误信息(error函数永远都不会返回) 　　通常情况下，error会附加一些错误位置的信息到message头部. 　　Level参数指示获得错误的位置, 　　Level=1[默认]：为调用error位置(文件+行号) 　　Level=2：指出哪个调用error的函数的函数 　　Level=0:不添加错误位置信息 　　5、_G全局环境表(全局变量) 　　功能：记录全局环境的变量值的表 [...]]]></description>
			<content:encoded><![CDATA[<div id="1">
<p>　　<strong>【IT168 技术文档】</strong>基本函数库为Lua内置的函数库，不需要额外装载</p>
<p>　　1、assert (v [, message])</p>
<p>　　功能：相当于C的断言，</p>
<p>　　参数：</p>
<p>　　v：当表达式v为nil或false将触发错误,</p>
<p>　　message：发生错误时返回的信息，默认为”assertion failed!”</p>
<p>　　2、collectgarbage (opt [, arg])</p>
<p>　　功能：是垃圾收集器的通用接口，用于操作垃圾收集器</p>
<p>　　参数：</p>
<p>　　opt：操作方法标志</p>
<p>　　”Stop”: 停止垃圾收集器</p>
<p>　　”Restart”: 重启垃圾收集器</p>
<p>　　”Collect”: 执行一次全垃圾收集循环</p>
<p>　　”Count”: 返回当前Lua中使用的内存量(以KB为单位)</p>
<p>　　”Step”: 单步执行一个垃圾收集. 步长 “Size” 由参数arg指定　(大型的值需要多步才能完成)，如果要准确指定步长，需要多次实验以达最优效果。如果步长完成一次收集循环，将返回True</p>
<p>　　”Setpause”: 设置 arg/100 的值作为暂定收集的时长</p>
<p>　　”Setstepmul”: 设置 arg/100 的值，作为步长的增幅(即新步长=旧步长*arg/100)</p>
<p>　　3、dofile (filename)</p>
<p>　　功能：打开并且执行一个lua块,当忽略参数filename时，将执行标准输入设备(stdin)的内容。返回所有块的返回值。当发生错误时，dofile将错误反射给调用者</p>
<p>　　注：dofile不能在保护模式下运行</p>
<p>　　4、error (message [, level])</p>
<p>　　功能：终止正在执行的函数，并返回message的内容作为错误信息(error函数永远都不会返回)</p>
<p>　　通常情况下，error会附加一些错误位置的信息到message头部.</p>
<p>　　Level参数指示获得错误的位置,</p>
<p>　　Level=1[默认]：为调用error位置(文件+行号)</p>
<p>　　Level=2：指出哪个调用error的函数的函数</p>
<p>　　Level=0:不添加错误位置信息</p>
<p>　　5、_G全局环境表(全局变量)</p>
<p>　　功能：记录全局环境的变量值的表 _G._G = _G</p>
<p>　　6、getfenv(f)</p>
<p>　　功能：返回函数f的当前环境表</p>
<p>　　参数：f可以为函数或调用栈的级别，级别1[默认]为当前的函数,级别0或其它值将返回全局环境_G</p>
<p>　　7、getmetatable(object)</p>
<p>　　功能：返回指定对象的元表(若object的元表.__metatable项有值，则返回object的元表.__metatable的值)，当object没有元表时将返回nil</p>
<p>　　8、ipairs (t)</p>
<p>　　功能：返回三个值 迭代函数、表、0</p>
<p>　　多用于穷举表的键名和键值对</p>
<p>　　如：for i,v in ipairs(t) do</p>
<p>　　</p>
<p>　　end</p>
<p>　　每次循环将索引赋级i，键值赋给v</p>
<p>　　注：本函数只能用于以数字索引访问的表 如：t={“1&#8243;,”cash”}</p>
<p>　　9、load (func [, chunkname])</p>
<p>　　功能：装载一个块中的函数，每次调用func将返回一个连接前一结的字串，在块结尾处将返回nil</p>
<p>　　当没有发生错误时，将返回一个编译完成的块作为函数,否则返回nil加上错误信息，此函数的环境为全局环境</p>
<p>　　chunkname用于错误和调试信息</p>
<p>　　10、loadfile ([filename])</p>
<p>　　功能：与load类似，但装载的是文件或当没有指定filename时装载标准输入(stdin)的内容</p>
<p>　　11、loadstring (string [, chunkname])</p>
<p>　　功能：与load类似，但装载的内容是一个字串</p>
<p>　　如：assert(loadstring(s))()</p>
<p>　　12、next (table [, index])</p>
<p>　　功能：允许程序遍历表中的每一个字段，返回下一索引和该索引的值。</p>
<p>　　参数：table：要遍历的表</p>
<p>　　index：要返回的索引的前一索中的号，当index为nil[]时，将返回第一个索引的值，当索引号为最后一个索引或表为空时将返回nil</p>
<p>　　注：可以用next(t)来检测表是否为空(此函数只能用于以数字索引的表与ipairs相类似)</p>
<p>　　13、ipairs (t)</p>
<p>　　功能：返回三个值 next函数、表、0</p>
<p>　　多用于穷举表的键名和键值对</p>
<p>　　如：for n,v in pairs(t) do</p>
<p>　　</p>
<p>　　end</p>
<p>　　每次循环将索引赋级i，键值赋给v</p>
<p>　　注：本函数只能用于以键名索引访问的表 如：t={id=”1&#8243;,name=”cash”}</p>
<p>　　14、pcall (f, arg1, ···)</p>
<p>　　功能：在保护模式下调用函数(即发生的错误将不会反射给调用者)</p>
<p>　　当调用函数成功能返回true,失败时将返回false加错误信息</p>
<p>　　15、print (···)</p>
<p>　　功能：简单的以tostring方式格式化输出参数的内容</p>
<p>　　16、rawequal (v1, v2)</p>
<p>　　功能：检测v1是否等于v2，此函数不会调用任何元表的方法</p>
<p>　　17、rawget (table, index)</p>
<p>　　功能：获取表中指定索引的值，此函数不会调用任何元表的方法，成功返回相应的值，当索引不存在时返回nil</p>
<p>　　注：本函数只能用于以数字索引访问的表 如：t={“1&#8243;,”cash”}</p>
<p>　　18、rawset (table, index, value)</p>
<p>　　功能：设置表中指定索引的值，此函数不会调用任何元表的方法，此函数将返回table</p>
<p>　　19、select (index, ···)</p>
<p>　　功能：当index为数字将返回所有index大于index的参数:如：select(2,”a”,”b”) 返回 “b”</p>
<p>　　当index为”#”，则返回参数的总个数(不包括index)</p>
<p>　　20、setfenv (f, table)</p>
<p>　　功能：设置函数f的环境表为table</p>
<p>　　参数：f可以为函数或调用栈的级别，级别1[默认]为当前的函数,级别0将设置当前线程的环境表</p>
<p>　　21、setmetatable (table, metatable)</p>
<p>　　功能：为指定的table设置元表metatable，如果metatable为nil则取消table的元表，当metatable有__metatable字段时，将触发错误</p>
<p>　　注：只能为LUA_TTABLE 表类型指定元表</p>
<p>　　22、tonumber (e [, base])</p>
<p>　　功能：尝试将参数e转换为数字，当不能转换时返回nil</p>
<p>　　base(2~36)指出参数e当前使用的进制，默认为10进制，如tonumber(11,2)=3</p>
<p>　　23、tostirng(e)</p>
<p>　　功能：将参数e转换为字符串，此函数将会触发元表的__tostring事件</p>
<p>　　24、type(v)</p>
<p>　　功能：返回参数的类型名(“nil”，”number”, “string”, “boolean”, “table”, “function”, “thread”, “userdata”)</p>
<p>　　25、unpack (list [, i [, j]])</p>
<p>　　功能：返回指定表的索引的值,i为起始索引，j为结束索引</p>
<p>　　注：本函数只能用于以数字索引访问的表,否则只会返回nil 如：t={“1&#8243;,”cash”}</p>
<p>　　26、_VERSION</p>
<p>　　功能：返回当前Lua的版本号”Lua 5.1&#8243;.</p>
<p>　　27、xpcall (f, err)</p>
<p>　　功能：与pcall类似，在保护模式下调用函数(即发生的错误将不会反射给调用者)</p>
<p>　　但可指定一个新的错误处理函数句柄</p>
<p>　　当调用函数成功能返回true,失败时将返回false加err返回的结果</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tgic.me/2008/03/30/%e5%9f%ba%e6%9c%ac%e5%87%bd%e6%95%b0%e5%ba%93%e4%b8%balua%e5%86%85%e7%bd%ae%e7%9a%84%e5%87%bd%e6%95%b0%e5%ba%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

