- 追加された行はこの色です。
- 削除された行はこの色です。
*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
t[#t + 1] = line -- 高速
end
t[#t+1] = "" -- 最後の最後に改行をすばやくconcatで付けるため、ダミーの空文字を最後に付け足す。
s = table.concat(t, "\n")
--]]
s = table.concat(t, "\n") -- こちらも高速
}}
というようにすれば、高速に処理できる。