2017-12-08 5 views
1

現在、私はMinecraftとOpenComputersというゲームの中でプロジェクトを行っています。主なコーディング言語はLuaです。Luaでstring.findを繰り返す

今、文字列を繰り返し処理するための素晴らしい解決策を見つける必要があります。この例では

local config = "key1=type1\nkey2=type2\nkey3=type3" 
local lines = {} 
while true do 
    local length = config:len() 
    local s, f = config:find("\n") 
    if s ~= nil then 
     table.insert(lines, config:sub(1, s-1)) 
     config = config:sub(f+1, length) 
    else 
     table.insert(lines, config) 
     break 
    end 
end 

私は変数configで静的な文字列を持っていますが、実際のコードでは、私は、configファイルから行を読み込む:

私の現在のソリューションは、このようになります。

私のソリューションは機能しますが、私はそれがより洗練されていると思います。よりクリーンなソリューションはありますか?

+0

それは動作しますが、あなたはそれがきれいかもしれないかどうかを確認したい場合は、HTTPS上の審査をリクエストする必要がありは://コードレビュー.stackexchange.com/ –

+0

将来的にhttps://codereview.stackexchange.com/ –

+2

@StephenOstermillerに所属しているため、トピックをオフトピックとして投票することにしました。コードレビューを理由として使用しないでください。質問を閉じる。リクエストを評価し、* too broad *、*主に意見ベース*などの理由を使用してください。[スタックオーバーフローユーザーのためのコードレビューの_このガイドへのこの回答]のセクションを参照してください。 (https://codereview.meta.stackexchange.com/a/5778/120114) –

答えて

2

あなたは、ファイル内の行を反復io.linesを使用する場合:

local lines = {} 
for l in io.lines("config.txt") do 
    table.insert(lines, l) 
end 
+0

答えはとても簡単でした...ありがとうございました。時には私は森の中の木を見ない。ありがとうございました –