まず第一に、私はこのサイトをスクリプト作成プロセス全体を通してリファレンスとして使用してきましたが、これは素晴らしいものでした。ここにいる皆さんがどれほど有用で知識が豊富であるかに感謝します。そこでLuaのマッチング(パターンマッチング)について質問です。基本的にファイルから入力を取得してテーブルにインポートするスクリプトを作成しています。照会しているホストとして、ファイル内の特定の MAC アドレスをチェックしています。
if macFile then
local file = io.open(macFile)
if file then
for line in file:lines() do
local f = line
i, j = string.find ( f, "%x+" )
m = string.sub(f, i, j)
table.insert( macTable, m )
end
file:close()
end
これにより、後でクエリに使用する形式にファイルが解析されます。テーブルが作成されたら、パターン マッチング シーケンスを実行して、テーブルを反復し、現在の反復に対してパターンを照合することで、テーブルから MAC を照合して照合します。
local output = {}
t = "00:00:00:00:00:00"
s = string.gsub( t, ":", "")
for key,value in next,macTable,nil do
a, p = string.find ( s, value )
matchFound = string.sub(s, a, p)
table.insert( output, matchFound )
end
これは出力を返しませんが、Lua プロンプトで 1 行ずつ入力するとうまくいくようです。変数は正しく渡されていると思います。助言がありますか?