raudius/luar

完全使用 PHP 编写的 Lua 解释器

0.1.4 2023-07-15 21:24 UTC

This package is auto-updated.

Last update: 2024-09-15 23:52:40 UTC


README

Luar 是一个用 PHP 编写的 Lua 解释器。

Luar 实现了 Lua 的简化版本,并打包了一些必要的 Lua 库。因此,Luar 在某些情况下与 Lua 兼容,但也有一些需要注意的地方

  • 数学/字符串库使用 PHP 的数字/字符串处理;许多边缘情况的行为没有被复制(例如,除以零,整数溢出)
  • 并非所有核心函数和库都可用,但提供了一种方法来注入您自己的
  • 一些语言结构没有实现(例如,变量属性,go-to 语句)

安装

composer require raudius/luar

用法

要了解更多详细信息,请阅读文档

$luar = new Luar();
$luar->assign('world', 'Moon');
$luar->assign('hello_world', function ($name='world') {
    return "Hello, $name!";
});

$program = '
    local greeting = hello_world(world)
    print(greeting)
    
    return greeting
';

$greeting = $luar->eval($program);