首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Sweet Snippet 之 Lua Utils

Sweet Snippet 之 Lua Utils

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

之前写过不少关于 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 删除
目录
  • 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 归档