前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sweet Snippet 之 Lua Utils

Sweet Snippet 之 Lua Utils

作者头像
用户2615200
发布2021-03-02 14:55:25
4750
发布2021-03-02 14:55:25
举报

之前写过不少关于 Lua 的 Utils 代码,不少都挺实用的,但是平时使用中却又总是觉得零散,遂而收集整理了一个 repo,希望可以持续完善,有兴趣的朋友可以看一看,欢迎 PR ~

以下内容仅为当前 repo 的 readme 内容,后面持续更新:

lua utils

desc

this is a simple lua util functions collection for easy usage and intergration

function reference(TODO)


table utils


slice(source, first, last, step)

desc :
params :
  • source :
  • first :
  • last :
  • step :
return :

map(source, handler)

desc :
params :
  • source :
  • handler :
return :

mapKeys(source, handler)

desc :
params :
  • source :
  • handler :
return :

flatMap(source, handler)

desc :
params :
  • source :
  • handler :
return :

shuffle(source)

desc :
params :
  • source :
return :

filter(source, handler)

desc :
params :
  • source :
  • handler :
return :

filterKeys(source, handler)

desc :
params :
  • source :
  • handler :
return :

filterKeysMap(source, handler)

desc :
params :
  • source :
  • handler :
return :

omitBy(source, handler)

desc :
params :
  • source :
  • handler :
return :

without(source, element)

desc :
params :
  • source :
  • element :
return :

compact(source)

desc :
params :
  • source :
return :

reduce(source, handler, init)

desc :
params :
  • source :
  • handler :
  • init :
return :

all(source, handler)

desc :
params :
  • source :
  • handler :
return :

any(source, handler)

desc :
params :
  • source :
  • handler :
return :

reverse(source)

desc :
params :
  • source :
return :

invert(source)

desc :
params :
  • source :
return :

keyBy(source, handler)

desc :
params :
  • source :
  • handler :
return :

groupBy(source, handler)

desc :
params :
  • source :
  • handler :
return :

merge(target, …)

desc :
params :
  • target :
  • … :
return :

values(source)

desc :
params :
  • source :
return :

keys(source)

desc :
params :
  • source :
return :

pick(source, keys)

desc :
params :
  • source :
  • keys :
return :

entries(source)

desc :
params :
  • source :
return :

find(source, handler)

desc :
params :
  • source :
  • handler :
return :

findKey(source, handler)

desc :
params :
  • source :
  • handler :
return :

includes(source, item)

desc :
params :
  • source :
  • item :
return :

keyOf(source, value)

desc :
params :
  • source :
  • value :
return :

insertMany(target, items)

desc :
params :
  • target :
  • items :
return :

getLength(source)

desc :
params :
  • source :
return :

assign(target, …)

desc :
params :
  • target :
  • … :
return :

defaults(target, …)

desc :
params :
  • target :
  • … :
return :

isSubset(a, b)

desc :
params :
  • a :
  • b :
return :

deepEqual(a, b)

desc :
params :
  • a :
  • b :
return :

shallowEqual(a, b)

desc :
params :
  • a :
  • b :
return :

append(…)

desc :
params :
  • … :
return :

pop(source)

desc :
params :
  • source :
return :

push(source, …)

desc :
params :
  • source :
  • … :
return :

shift(source)

desc :
params :
  • source :
return :

unshift(source, …)

desc :
params :
  • source :
  • … :
return :

indexOf(source, value, from)

desc :
params :
  • source :
  • value :
  • from :
return :

uniq(source)

desc :
params :
  • source :
return :

seal(source)

desc :
params :
  • source :
return :

readonly(source)

desc :
params :
  • source :
return :

dump(source, depth, indent)

desc :

dump source table to string with limited depth(default is 32) and indent(default is 4) space

params :
  • source : source table
  • depth : limited depth
  • indent : indent space
return :

dump string of source table


clone(source, shallow)

desc :
params :
  • source :
  • shallow :
return :

checkEqual(a, b, ignore_mt)

desc :
params :
  • a :
  • b :
  • ignore_mt :
return :

orderPairs(source, sort_comp)

desc :
params :
  • source :
  • sort_comp :
return :


string utils


trim(str)

desc :
params :
  • str :
return :

trimLeft(str)

desc :
params :
  • str :
return :

trimRight(str)

desc :
params :
  • str :
return :

startsWith(str, start)

desc :
params :
  • str :
  • start :
return :

endsWith(str, ending)

desc :
params :
  • str :
  • ending :
return :

leftPad(str, length, character)

desc :
params :
  • str :
  • length :
  • character :
return :

rightPad(str, length, character)

desc :
params :
  • str :
  • length :
  • character :
return :

split(str, delim)

desc :
params :
  • str :
  • delim :
return :

formatParam(str, …)

desc :
params :
  • str :
  • … :
return :


math utils


clamp(num, low, high)

desc :

clamp num to range [low, high], low should <= high

params :
  • num : target num
  • low : left range
  • high : right range
return :

clamped num


clamp01(num)

desc :

clamp num to range [0, 1]

params :
  • num : target num
return :

clamped num


inRange(num, low, high)

desc :
params :
  • num :
  • low :
  • high :
return :

inRange01(num)

desc :
params :
  • num :
return :

round(num)

desc :
params :
  • num :
return :

usage(TODO)

代码语言:javascript
复制
local tu = require("utils.table_utils")
print(tu.dump({ 1, 2, 3, key = "value" }))

-- output :
--[[
{
    [1] = 1
    [2] = 2
    [3] = 3
    ["key"] = "value"
}
--]]

NOTE

util function implementations are depend on base library funcs of Lua(pairs etc.)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • lua utils
    • desc
      • function reference(TODO)
        • slice(source, first, last, step)
        • map(source, handler)
        • mapKeys(source, handler)
        • flatMap(source, handler)
        • shuffle(source)
        • filter(source, handler)
        • filterKeys(source, handler)
        • filterKeysMap(source, handler)
        • omitBy(source, handler)
        • without(source, element)
        • compact(source)
        • reduce(source, handler, init)
        • all(source, handler)
        • any(source, handler)
        • reverse(source)
        • invert(source)
        • keyBy(source, handler)
        • groupBy(source, handler)
        • merge(target, …)
        • values(source)
        • keys(source)
        • pick(source, keys)
        • entries(source)
        • find(source, handler)
        • findKey(source, handler)
        • includes(source, item)
        • keyOf(source, value)
        • insertMany(target, items)
        • getLength(source)
        • assign(target, …)
        • defaults(target, …)
        • isSubset(a, b)
        • deepEqual(a, b)
        • shallowEqual(a, b)
        • append(…)
        • pop(source)
        • push(source, …)
        • shift(source)
        • unshift(source, …)
        • indexOf(source, value, from)
        • uniq(source)
        • seal(source)
        • readonly(source)
        • dump(source, depth, indent)
        • clone(source, shallow)
        • checkEqual(a, b, ignore_mt)
        • orderPairs(source, sort_comp)
        • trim(str)
        • trimLeft(str)
        • trimRight(str)
        • startsWith(str, start)
        • endsWith(str, ending)
        • leftPad(str, length, character)
        • rightPad(str, length, character)
        • split(str, delim)
        • formatParam(str, …)
        • clamp(num, low, high)
        • clamp01(num)
        • inRange(num, low, high)
        • inRange01(num)
        • round(num)
      • usage(TODO)
        • NOTE
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档