打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
怎么让 Lua 5.3.4 支持中文变量名和中文函数名

1. 在官网下载最新版Lua源码

Lua :Download

2. 解压后进入目录,找到/src/llex.c,打开修改

找到如下内容

修改为下面代码,并保存。

default: {  if (lislalpha(ls->current)|| ls->current >= 0x80) {  /* identifier or reserved word? *///修改    TString *ts;    do {      if (ls->current >= 0x80) {  //修改        save_and_next(ls);  //修改        if(ls->current !='('&&ls->current >=0x80)//修改          save_and_next(ls);  //修改      }      else if(ls->current !='('){  //修改        save_and_next(ls);  //修改      }     } while (lislalnum(ls->current)|| ls->current >= 0x80);//修改    ts = luaX_newstring(ls, luaZ_buffer(ls->buff),                        luaZ_bufflen(ls->buff));    seminfo->ts = ts;    if (isreserved(ts))  /* reserved word? */      return ts->extra - 1 + FIRST_RESERVED;    else {      return TK_NAME;    }  }  else {  /* single-char tokens (+ - / ...) */    int c = ls->current;    next(ls);    return c;  }}

3. 编译

  • Mac OS X 系统
  cd lua-5.3.4 #进入lua目录  make macosx test  make install
  • Linux 系统
  cd lua-5.3.4  make linux test  make install
  • Win 系统可以用vs编译。

ps.这样修改也支持中文函数名,网上修改的方法 function 跑()运行会报错如下:

lua: 任务.lua:18: '(' expected near ')'

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【小技巧】如何修改 Lua 5.1 的引擎,让Lua支持中文变量名、混合变量名
数字电视中TS包解码函数注解
略谈matlab中S函数的概念及使用
lua_touserdata返回值详释(转)
PowerQuery中最重要的迭代函数
Lua的sleep函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服