我一直在阅读这个页面 (除其他外),但仍然找不到我的答案.
我试图让Lua将8位值(即0到255之间的整数)转换为相应Hex字符的2字节Ascii表示
我知道如何使用的唯一Lua语法就是这个...
MyString = string.format("%1x", That_Number )
Run Code Online (Sandbox Code Playgroud)
...但是,当数字为0到15时,该语法给了我: 1 2 3 4 5 6 7 8 9 a b c d e f
......虽然这是我真正想要的: 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
我的问题: 是否有一个简单的语法来保证我的"两位数"Ascii表示?
("简单"意味着它已经内置于语法中;不是我必须编写的函数)
ps,如果我能将A, B, C, D, E, F字符作为大写字母,那就太好了.
我的用户将在这样的地方输入一些字节.
黄色箭头指向他的输入,橙色箭头指向我的按钮

大约半小时后,我开始意识到这比我预期的要繁琐得多.
问题:我是否必须编写数百行代码以确保用户遵守规则?
他输入的语法规则是......
这三个规则可以像用户想要的那样重复.对于接收的字节,还有两个要处理的规则......
我得检查一下
?和*这里有些例子..
(首先编辑和更新,所有用户都不是相同的;语法检查器必须处理这个 ......)
来自智能好用户的漂亮正常整齐格式化输入...
01, FF, 3E, 27, 7F55, EE, 01, 0021, FE, 2B, 00, 1F37, *, 18, ?, 00, 3781, *, 00, *, FF, 91, ?, 11, ?, FF20, 31, 7F, 28, *, FF47 4F, 20, 50, 4F, 4D, 45, ?, 21来自愚蠢的坏用户的丑陋输入......
1,ff,3e,27,7f55, EE, 1, 0021,Fe, …我很惊讶我在StackOverflow或Lua.org网站上没有找到这个明确的答案
如果
然后,我如何操纵该变量从"J"变为"K"?
我查看了Lua.Org网站上的字符串库,并没有在那里的任何页面上看到"字母表"这个词
例如
--------------------------------------------------
-- --
-- Func Name: Alphabetic_Advance_By_1 --
-- --
-- On Entry: The_Letter contains one --
-- character. It must be a --
-- letter in the alphabet. --
-- --
-- On Exit: The caller receives the --
-- next letter --
-- --
-- e.g., --
-- --
-- A will return B --
-- B will return C --
-- C will return …Run Code Online (Sandbox Code Playgroud) 我想测试一下require'd文件是否存在.
目前,当我在Lua中执行此命令时:
require "File_That_May_or_May_Not_Be_There.inc"
Run Code Online (Sandbox Code Playgroud)
如果他在那里一切都很好.如果没有,我的剧本就当场死了.
我有办法从中恢复过来吗?
我看了看这里的Lua.Org网站,这里 StackOverflow上并没有看到这个回答.
有没有办法做这样的事情?......
if (this_exists("That_File")) then
require "That_File"
else
print "Your file does not exist"
end
Run Code Online (Sandbox Code Playgroud)
我试图让用户更好地了解出了什么问题,以及为什么.