*Luaリファレンス 要注意点 ~バッファー~ [#d7439cfd]

**高速なバッファコピー、低速なバッファコピー [#t69aa07f]
-
例えば、
#sh(lua){{
    local buff = ""
    for line in io.lines() do
        buff = buff .. line .. "\n"
    end
--]]
}}
これは非常に低速。~
2項演算子".."によるコピーも何度も行われる上、だんだんコピーされるバッファサイズが大きくなってゆく。~
~
そこで、
#sh(lua){{
---[[
    local t = {}
    for line in io.lines() do
        t[#t + 1] = line
    end
    t[#t+1] = "" -- 最後の最後に改行をすばやくconcatで付けるため、ダミーの空文字を最後に付け足す。
    s = table.concat(t, "\n")
--]]
}}


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS