Lua中if-then-else-end声明失败?如何改写为长尾解决?

2026-04-01 20:031阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计216个文字,预计阅读时间需要1分钟。

Lua中if-then-else-end声明失败?如何改写为长尾解决?

我正在尝试为Awesome window manager改进我的rc.lua。默认的rc.lua使用以下代码设置菜单项:myawesomemenu={ { manual, terminal .. -e man awesome }, { edit config, editor_cmd .. .. awesome.conffile }, { restart, awesome restart } }

Lua中if-then-else-end声明失败?如何改写为长尾解决?

我正在尝试为 Awesome window manager改进我的rc.lua.默认rc.lua使用以下代码设置菜单:

myawesomemenu = { { "manual", terminal .. " -e man awesome" }, { "edit config", editor_cmd .. " " .. awesome.conffile }, { "restart", awesome.restart }, { "quit", awesome.quit } }

我使用Awesome作为GNOME桌面环境的窗口管理器,所以我想让Awesome使用gnome-session-quit程序而不是awesome.quit,但前提是环境变量“DE”设置为“gnome”.因此,我用第五行替换了

{ "quit", if os.getenv("DE") == "gnome" then os.execute("/usr/bin/gnome-session-quit") else awesome.quit end }

但是当我重新加载文件时,我会得到“附近的意外符号”.我该如何解决这个问题,以及是什么原因造成的?

试试这个:

{ "quit", (os.getenv("DE") == "gnome") and function() os.execute("/usr/bin/gnome-session-quit") end or awesome.quit}

a和b或c就像C表达式a? b:c,前提是b不是假的.

本文共计216个文字,预计阅读时间需要1分钟。

Lua中if-then-else-end声明失败?如何改写为长尾解决?

我正在尝试为Awesome window manager改进我的rc.lua。默认的rc.lua使用以下代码设置菜单项:myawesomemenu={ { manual, terminal .. -e man awesome }, { edit config, editor_cmd .. .. awesome.conffile }, { restart, awesome restart } }

Lua中if-then-else-end声明失败?如何改写为长尾解决?

我正在尝试为 Awesome window manager改进我的rc.lua.默认rc.lua使用以下代码设置菜单:

myawesomemenu = { { "manual", terminal .. " -e man awesome" }, { "edit config", editor_cmd .. " " .. awesome.conffile }, { "restart", awesome.restart }, { "quit", awesome.quit } }

我使用Awesome作为GNOME桌面环境的窗口管理器,所以我想让Awesome使用gnome-session-quit程序而不是awesome.quit,但前提是环境变量“DE”设置为“gnome”.因此,我用第五行替换了

{ "quit", if os.getenv("DE") == "gnome" then os.execute("/usr/bin/gnome-session-quit") else awesome.quit end }

但是当我重新加载文件时,我会得到“附近的意外符号”.我该如何解决这个问题,以及是什么原因造成的?

试试这个:

{ "quit", (os.getenv("DE") == "gnome") and function() os.execute("/usr/bin/gnome-session-quit") end or awesome.quit}

a和b或c就像C表达式a? b:c,前提是b不是假的.