Lua

lpackでバイナリファイルを作る

Lua

id:eggman:20080205:1202251800の続き。 luaにもpack/unpackのライブラリがあったので使ってみる。 使ってみたライブラリは、Luaの作者の一人でもあるlhfさんのlpackです。 #!/bin/env lua require"pack" bpack=string.pack src_port=3088 dst_port=22 lengt…

バイナリファイルを作る

Lua

ひさしぶりにLuaをやる。 Luaでバイナリファイルを作る。例としてUDPヘッダを作ってみた。 #!/bin/env lua require("bit") src_port=3088 dst_port=333 length=1200 crc=0xABCD function write_word(f, word) if word > 0xff then f:write(string.format("%c…

ファイルの読み書き

Lua

Luaでファイルの読み書き file1.lua #!/bin/env lua f = io.open("12345.txt","r+") if not f then print("Could not open file ") return end for l in f:lines() do io.write(l.."\n") end f:seek("end") f:write("cdefgh\n") f:seek("set") f:write("a\nb…

ビット演算

Lua

Luaでビット演算するには、bitlibを使う。bitlibはC言語で書かれたライブラリでソースはかなり簡潔です。 bits.lua #!/bin/env lua require("bit") function pbits(byte) io.write " " for i=63, 0, -1 do io.write(bit.band(bit.arshift(byte,i), 1)) end i…

コマンドライン引数

Lua

Luaの勉強を始めました。なるべくPure Luaで何か作る予定です。 コマンドライン引数の表示をしてみた。arg.lua #!/bin/env lua print(#arg) for i=0, #arg, 1 do io.write(arg[i] .. " ") end print() arg.luaの実行例 $./arg.lua a b c d f g -s hoge 8 ./a…