我试图在c和lua中制作一个简单的calc应用程序。但出于某种原因,它正在克服基于输入的命令。我知道代码是无用的,不可行的,但我正在学习使用lua (luaJIT),c api,所以请容忍我。当我运行这段代码时,它会得到用户的输入(即添加),但之后什么也不做,并跳到代码的末尾。但是我把它放在一个无限循环中来阻止它,但是它仍然跳过if语句中的代码。有什么办法解决这个问题吗?任何帮助都是非常感谢的。谢谢!
C代码:
int main()
{
fflush(stdin);
int status;
int trace = 1;
int x = 0;
lua_Number lua_tonumber (
我需要在Windows和Linux上实现相同的功能。
Linux部分如下所示:
#!/bin/sh
path_mainfunctions="../../data/scripts/mainfunctions.lua"
path_DisplayError="scripts/DisplayError.lua"
path_backup="scripts/mainfunctions.lua"
if [ -f $path_backup ]; then
# check if $path_mainfunctions is newer
alia
如何在lua编程语言中为if-语句中的变量设置下界值和上限值?我需要类似下面的伪码的东西。
if ("100000" >= my_variable <= "80000") then
do stuff...
end
我尝试过不同的格式,但我的应用程序不断崩溃。
更新:
对于任何对lua语法有同样疑问的人,我建议检查文档并保持它的方便性。学习的时候会很有用的。
在我的代码中,我需要跟踪某些值(字符串,总是.)在当地。我想知道运行时是否会在正式的Lua5.3实现上重新创建或,然后将其放入本地。有什么想法吗?在这个lua.org 中,我至少听说过Lua实现了字符串内部化(保留任何字符串的一个副本)。
我正在重新启动我的代码,所以到目前为止我已经做了一些无关紧要的事情。我在每个函数中可能做的一个例子是:
local src = l[1]
-- `src` would hold a string
这个问题类似于先前发布的问题,
问题是,那里的解决方案对于简单的深度比较非常有效。然而,它没有正确地处理循环引用。更具体地说,以下几点:
function table_eq(table1, table2)
local avoid_loops = {}
local function recurse(t1, t2)
-- compare value types
if type(t1) ~= type(t2) then return false end
-- Base case: compare simple values
if type(
Lua版本为5.1.4,详情如下:
Lua 5.1.4版权(C) 1994-2008年Lua.org,临时市政局-里约
print(string.format("where id = %d", "1596856742980208710"))
产出:
where id = 1596856742980208640
但是当将%d改为%s时
print(string.format("where id = %s", "1596856742980208710"))
产出:
where id = 1596856742980208710
我在Lua tha中有一个脚本正在使用导出,问题是导出在成功的variable.How中返回{0}:{1}我可以在if语句中比较这一点吗?我的意思是我有这行代码: TriggerEvent('chatMessage',Success) -- Prints the {0}:{1}
if Success = ? -- What am i suposed to compare it with to go
inside the if? 请注意,我是Lua的新手。提前感谢!
我想使用nginx的proxy_pass和lua在流服务器之前过滤流url。
我的流媒体服务器是
我想当访问时,它将转发到。如果您访问,它将是“显示权限拒绝”页面。
这是我在nginx配置文件上的代码:
location ^~ /stream {
set $flag_false "false";
set $flag "false";
set $flag_true 1;
rewrite_by_lua '
local t
我想把这个python代码转换成lua。
for i in range(1000,9999):
if str(i).endswith('9'):
print(i)
我已经走了这么远,
for var=1000,9000 then
if tostring(var).endswith('9') then
print (var)
end
end
但我不知道lua和endswith()是什么意思,我在写nmap脚本,
第一次与lua这样工作,请让我知道是否有任何错误,就我目前的代码。
我有这个C++代码,它需要调用Lua函数。当我得到函数返回值时,一切都很好(“甚至打印结果”),但是当涉及到存储变量时,该值将消失。
LS = luaL_newstate();
luaL_openlibs(LS);
lua_register(LS, "lua_HostFunction", Link::lua_HostFunction);
if (luaL_dofile(LS, "./src/solutions/16t20.lua") != LUA_OK) {
cout << "Error: File not found or inv
我试图让这个程序在lua中使用一个数字,除了这一行代码外,所有的东西都能工作。下面是代码:
function factor(a)
print("factoring: " .. a)
print()
totali = 0
totaldiv = 0
for i = 1, a do
if (a%i == 0) then
if (i<a) then
totaldiv = totaldiv + 1
end
print(i)
i = i + 1
totali = totali + 1
else
i = i + 1
en
我正在学习使用Lua编程,并且正在尝试练习使用函数和数组。
其思想是,程序接受用户输入并验证数组中是否存在该数据,否则应返回该数据不存在。
number = {"1", "2", "3"}
function prompt(input)
if input == number then
return print("Yes your number is here")
else
return print("Nope, your number not here")
en
我目前正在尝试将一个函数从C++传递给Lua。问题是这个函数的参数是(int,int,char *,.)。我在使用Lua方面也很新。
所以我从lua堆栈中得到了所有的参数,我把相关的(.)把它们转化成矢量。现在怎么办?
下面是所讨论的代码:
static int L_PrintDebug(lua_State *state)
{
MVC_View * theView = MVC_View::GetInstance(MVC_Model::GetInstace());
int n = lua_gettop(state);
// check if number of arguments is le
我正在尝试写一个lua开关,根据我目前所读到的,这似乎是通过使用一个表来实现的。所以我做了一个非常简单的表,但是当我尝试运行它的时候,我得到一个错误,说table index is null。
最终我想要的是基于不同的输入,这段代码应该调用不同的lua文件。但就目前而言,由于我是这门语言的新手,我想我应该满足于没有那个索引错误。
谢谢
#!/usr/bin/lua
-- hello world lua program
print ("Hello World!")
io.write('Hello, where would you like to go?\n'
function test()
if not "a" == "b" then
print("the strings are different")
end
end
好像我的文件里到处都是这个错误。Lua将not拉得比==强,并解释说我在问"a"是否为零值。我知道not的优先级比==高,但是Lua怎么能忽略行的其余部分呢?它是否应该注意到还有更多的错误出现,并抛出一个== "b"不适合语法的错误?
我希望在我的conky的Lua配置中使用自定义变量来在计算机之间共享配置。为什么以下内容不起作用,它使用简单的Lua代码:
conky.config={..}
-- set variables
work = "COMPUTERNAME"
lan = "wlp9s0"
-- compare with current host name (conky's global variable)
if work == nodename then
lan = "enp3s0"
end
-- use $lan in conky's t