Lua

2 readers
1 users here now

Lemmy community dedicated to the Lua programming language.

About Lua

Lua is a powerful and lightweight dynamically typed programming language, often embedded into applications to extend their API.

Resources

lua.org - official website
lua.org/pil - book
lua.org/manual - documentation
luarocks.org - package manager

Rules

You may read full set of rules here.
Too long; didn't read:

  1. Posts must relate to Lua
  2. Use descriptive titles
  3. Provide reproduction code
  4. Information about environment

founded 1 year ago
MODERATORS
1
 
 

I have installed various packages but none of them seem to work as expected at all, I mean they don't seem to work at all.

Does anyone know of a package that actually works?

2
3
4
 
 

Hi everyone!

I just wanted to share a small template library and supporting program I wrote using Lua (specifically wrote against LuaJIT and Lua5.1).

I haven't found any existing template engine that really fit my needs. The main one I saw was Jinja2, but it required pulling in Python, which on a lot of environments was a bit more of an ask than I really wanted to deal with (especially in enterprise environments). Many others I've tried over the years seem not to throw errors when a variable is referenced, but not defined, or at least the ones I could get testing with in about 15 minutes.

Can't promise it's perfect, but it replaced my need to create a templated text document for my RPG character that I had written in M4, and I have had a lot of instances where I wanted an easy-to-use templating engine for configurations.

5
6
 
 

A place where I can pick up subroutines for my Lua programs?

Lua Users! Welcome to Lemmy!

7
 
 

Lazy is a library that extends the standard Lua library.
It exposes function modules such as math, string, table, etc.

It's aimed to fill the gaps of Lua's standard libraries by providing functions such as math.round to round numbers, string.trim to remove leading and trailing white spaces from a string and many many many more.

One important feature of Lazy is that the require path of modules is automatically resolved, which allows you to require the lazy library from virtually anywhere.
For example the lazy folder may be located in the root of your project or any sub-directory. More so, upon setting your LUA_PATH correctly, lazy can be required anywhere from your PC without having to import it into your project. Please refer to the GitLab page for more information .


Example usage:

local lazy = require "lazy"

lazy.math.round(1234.5678, 2) --> 1234.57
lazy.os.capture("pwd") --> /home/name/projects/lua/lazy
lazy.string.split("Lua is amazing!", " ") --> { "Lua", "is", "amazing!" }
lazy.table.append({ "A" }, { "B" }, { "C" }, { "D" }) --> { "A", "B", "C", "D" }

Contributions and requests are welcome :P

8
1
submitted 1 year ago* (last edited 1 year ago) by adamnejm@programming.dev to c/lua@programming.dev
 
 

All the rules from this Lemmy instance apply.
Additionally, please try to follow these community-specific rules:

Rules

1. Posts must relate to Lua

All posts must be related to the Lua programming language.
This also includes related and derivative projects, such as Luau or MoonScript.

2. Use descriptive titles

Your title should in short describe the contents. That applies to all kinds of posts, no matter whether you're showcasing a project, discussing a feature or asking for help.

Examples of bad titles:

  • please help!
    ^ Doesn't provide any information about the post
  • How to rotate SENT?
    ^ Should also information about API and ideally expand SENT which is a rather niche acronym
  • request.lua
    ^ Could provide a short description of the library

Examples of good titles:

  • [Help] Lua errors when using string.format with the %p flag
  • How to rotate a Scripted Entity in Garry's Mod when spawned?
  • request.lua - Lua >=5.1 library to simplify HTTP requests

Please note that there are no strict rules related to tagging posts (eg. including [Help] or [Roblox] in the title), but they are very welcome nonetheless.

3. Provide reproduction code

When asking for help, you should provide a reproduction code whenever applicable. This doesn't mean that you should copy and paste your whole project or script into the post, in fact the opposite. Try to isolate the issue you're facing on your own and only include the code needed to reproduce it.

A screenshot or image of the code is never valid. Additionally the code should be provided using the following Markdown syntax:

```lua
<your code goes here>
```

4. Information about environment

When asking for help, and ideally releasing a project, you should include as much information as possible about the target environment.
Most important thing is the Lua API in use, that means the video game, game engine, framework, library, etc.
Other information such as Lua version, environment variables, operating system, etc. may be useful as well.


Posts not following the rules may be deleted without prior notice.
Repeated offenders may be issued a warning and banned.

If you do not agree with the rules or statements made here, please discuss your issue in the comment section, I'm sure something can be done about it.

Moderation

If you want to help and moderate this community, please message leave a comment under this post or contact me in any other way.