🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:CommaTest」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「-- Debug: mw.logObject(p.main()) local p = {} function p.commas(number) return tostring(number) -- Make sure the "number" is a string :reverse() -- Reverse the str…」) |
(ソース元の追加) |
||
1行目: | 1行目: | ||
-- Debug: mw.logObject(p.main()) | -- Debug: mw.logObject(p.main()) | ||
-- from https://gist.github.com/DarkWiiPlayer/9a2cc37daf1147aebbb4664b96078d4c | |||
local p = {} | local p = {} |
2021年2月17日 (水) 15:56時点における最新版
このモジュールについての説明文ページを モジュール:CommaTest/doc に作成できます
-- Debug: mw.logObject(p.main()) -- from https://gist.github.com/DarkWiiPlayer/9a2cc37daf1147aebbb4664b96078d4c local p = {} function p.commas(number) return tostring(number) -- Make sure the "number" is a string :reverse() -- Reverse the string :gsub('%d%d%d', '%0,') -- insert one comma after every 3 numbers :gsub(',$', '') -- Remove a trailing comma if present :reverse() -- Reverse the string again :format() -- a little hack to get rid of the second return value 😜 end function p.comma_value(amount) local formatted = amount while true do formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2') if k==0 then break end end return formatted end local function bench(func, num, iter) local clock = os.clock local before = clock() for i = 1, iter do func(num) end local after = clock() return 1000 * (after - before) end function p.main() return { string.format( "%02.7f", bench(p.commas, 1, 1e5) ), string.format( "%02.7f", bench(p.comma_value, 1, 1e5) ), string.format( "%02.7f", bench(p.commas, 1e3, 1e5) ), string.format( "%02.7f", bench(p.comma_value, 1e3, 1e5) ), string.format( "%02.7f", bench(p.commas, math.maxinteger, 1e5) ), --string.format( -- "%02.7f", -- bench(p.comma_value, math.maxinteger, 1e3) --) } end return p