初学lua,有个问题请教前辈们。

「已注销」 2017-10-30 11:27:59
长度>=3的字符就可以运行,<3的字符就不能提取出来啊,我是给另一个我使用的编译器做的插件
function jipai(AStr,scel)
if(string.len(AStr))<1 then
return {0,AStr,AStr}
end
local zdz
local p
if scel=="zhadan" then
zdz = {"3333","4444","5555","6666","7777","8888","9999","SSSS","JJJJ","QQQQ","KKKK","1111","2222","AB"}
p=14
elseif scel=="santiao" then
zdz = {"333","444","555","666","777","888","999","SSS","JJJ","QQQ","KKK","111","222"}
p=13
elseif scel=="duizi" then
zdz = {"33","44","55","66","77","88","99","SS","JJ","QQ","KK","11","22"}
p=13
elseif scel=="danpai" then
zdz = {"3","4","5","6","7","8","9","S","J","Q","K","1","2"}
p=13
end
local result=""
local resu=""
local resus=AStr
for i=1, p do
if string.find(AStr,zdz[i]) ~= nil then
result = result .. zdz[i].."|"
resu = resu .. string.gsub(AStr,zdz[i],"",1) .. "|"
resus = string.gsub(resus,zdz[i],"",1)
end
end
if string.len(result)<1 then
return {0,AStr,AStr}
end
return {left(string.len(result)-1,result),left(string.len(resu)-1,resu),resus}
end
function left(w,str)
return string.format("%1." .. w .. "s", str)
end


...全文
737 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-11-02
  • 打赏
  • 举报
回复
function jipai(Str,scel)
    if(string.len(Str))<1 then
	   return {0,Str,Str}
	end
	if scel~="zhadan" and scel~="santiao" and scel~="duizi" and scel~="danpai" then
	   return {0,Str,Str}
	end
	local zdz;
	local p;
	if scel=="zhadan" then
	    zdz = {"3333","4444","5555","6666","7777","8888","9999","SSSS","JJJJ","QQQQ","KKKK","1111","2222","AB"};
	    p=14;
	elseif scel=="santiao" then
	    zdz = {"333","444","555","666","777","888","999","SSS","JJJ","QQQ","KKK","111","222"};
		p=13;
	elseif scel=="duizi" then
	    zdz = {"33","44","55","66","77","88","99","SS","JJ","QQ","KK","11","22"};
		p=13;
	elseif scel=="danpai" then
	    zdz = {"3","4","5","6","7","8","9","S","J","Q","K","1","2","B","A"};
		p=15;
    end
	local result={};
	local resu={};
	local resus=Str;
	for i=1, p do
	    if string.find(Str,zdz[i]) ~= nil then
			table.insert(result,zdz[i]);
			local iii=string.gsub(Str,zdz[i],"",1);
			table.insert(resu,iii);
			resus = string.gsub(resus,zdz[i],"",1);
		end
	end
	if result[1]==nil then
	   return {0,Str,Str}
	end
    return {table.concat(result,"|"),table.concat(resu,"|"),resus}
end
懂了,lua写插件真好使,还有字符串匹配真便捷
「已注销」 2017-10-31
  • 打赏
  • 举报
回复
引用 2 楼 Chen8013 的回复:
[quote=引用 1 楼 abc1234679 的回复:] 有个很尴尬的地方,听我一个朋友说的,腾讯课堂上一位老师说,写代码千万别用拼音,宁愿用中文,可是lua我写中文变量变成了特殊符号,不好使,我就用了拼音。
变成“特殊符号”,是编辑器的问题吧…… 没看明白你的“不能提取出来”是指的什么。 [/quote]我会了,我写的是斗地主返回牌型的,
「已注销」 2017-10-30
  • 打赏
  • 举报
回复
有个很尴尬的地方,听我一个朋友说的,腾讯课堂上一位老师说,写代码千万别用拼音,宁愿用中文,可是lua我写中文变量变成了特殊符号,不好使,我就用了拼音。
赵4老师 2017-10-30
  • 打赏
  • 举报
回复
请教这位Lua大拿:https://blog.codingnow.com/
舉杯邀明月 2017-10-30
  • 打赏
  • 举报
回复
引用 1 楼 abc1234679 的回复:
有个很尴尬的地方,听我一个朋友说的,腾讯课堂上一位老师说,写代码千万别用拼音,宁愿用中文,可是lua我写中文变量变成了特殊符号,不好使,我就用了拼音。
变成“特殊符号”,是编辑器的问题吧…… 没看明白你的“不能提取出来”是指的什么。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧