在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
唔,这个折腾了半天。。。 今天学到的两个函数string.sub和string.format。 string.sub(s,i,j),将s的第i个到第j个字符取出,i缺省为1,j缺省为-1 string.format(),唔,完全可以当作是C里面的printf来用! 今天写的一个小程序: #!/usr/bin/env lua
here = 0 for line in io.lines("./sin512.mif") do here=here + 1 if here < 7 then print(line) elseif (here - 7)%8 == 0 then line = string.sub(line,5) print(string.format("%04X",(here-7)/8)..line) end end 然后,sin512的内容是这样的: DEPTH = 512;
WIDTH = 8; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0000 : 0080; 0001 : 0081; 0002 : 0083; 0003 : 0084; 0004 : 0086; 0005 : 0087; 0006 : 0089; 0007 : 008A; 0008 : 008C; 0009 : 008E; 000A : 008F; 000B : 0091; 000C : 0092; 000D : 0094; ... 01FC : 0079; 01FD : 007B; 01FE : 007C; 01FF : 007E; end; 打印出来是这样的: DEPTH = 512;
WIDTH = 8; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0000 : 0080; 0001 : 008C; 0002 : 0098; 0003 : 00A5; 0004 : 00B0; 0005 : 00BC; 0006 : 00C6; 0007 : 00D0; 0008 : 00DA; 0009 : 00E2; 000A : 00EA; 000B : 00F0; 000C : 00F5; 000D : 00FA; 000E : 00FD; 000F : 00FE; 0010 : 00FF; 0011 : 00FE; 0012 : 00FD; 0013 : 00FA; 0014 : 00F5; 0015 : 00F0; 0016 : 00EA; 0017 : 00E2; 0018 : 00DA; 0019 : 00D0; 001A : 00C6; 001B : 00BC; 001C : 00B0; 001D : 00A5; 001E : 0098; 001F : 008C; 0020 : 007F; 0021 : 0073; 0022 : 0067; 0023 : 005A; 0024 : 004F; 0025 : 0043; 0026 : 0039; 0027 : 002F; 0028 : 0025; 0029 : 001D; 002A : 0015; 002B : 000F; 002C : 000A; 002D : 0005; 002E : 0002; 002F : 0001; 0030 : 0000; 0031 : 0001; 0032 : 0002; 0033 : 0005; 0034 : 000A; 0035 : 000F; 0036 : 0015; 0037 : 001D; 0038 : 0025; 0039 : 002F; 003A : 0039; 003B : 0043; 003C : 004F; 003D : 005A; 003E : 0067; 003F : 0073; 0040; 总的来说是干了件蠢事,但是干的还算开心哈!
|
请发表评论