gpt4 book ai didi

lua - 我可以将 `init.lua` 与 Hammerspoon 中的不同组件分开吗?

转载 作者:行者123 更新时间:2023-12-01 11:20:23 25 4
gpt4 key购买 nike

我想分开init.lua Hammerspoon 中用于增强可读性和可维护性的脚本。

所以它看起来像下面这样:

  • 初始化.lua
  • AppWatcher.lua
  • WiFiWatcher.lua
  • KeyRemap.lua

  • 然后从 init.lua 内部我会阅读这些文件并激活观察者。

    但是,似乎没有定义这样的函数(但也许我可能会错过它)。是否可以像在 Hammerspoon 中那样分离逻辑?

    最佳答案

    是的,您可以使用 require .
    如果你把你的 Lua 文件放在 ~/.hammerspoon/ ,然后您可以使用 require('modulename') 加载它们.例如,如果您有以下模块:

  • ~/.hammerspoon/AppWatcher.lua
  • ~/.hammerspoon/WiFiWatcher.lua
  • ~/.hammerspoon/KeyRemap.lua

  • 然后您可以从 ~/.hammerspoon/init.lua 加载它们像这样:
    local AppWatcher  = require('AppWatcher')
    local WiFiWatcher = require('WiFiWatcher')
    local KeyRemap = require('KeyRemap')
    您可以加载任何 Lua 模块,只要它们出现在 package.path 中即可。 .要查看您可以使用的目录,请查看 HammerSpoon 的 package.path setup file .这引用了默认的 Lua package.path,它在 luaconf.h 中定义。 .
    如果你想把你的 Lua 模块放在 package.path 中不包含的目录中,你可以通过将它们添加到 LUA_PATH_5_3 来实现。或 LUA_PATH环境变量。

    关于lua - 我可以将 `init.lua` 与 Hammerspoon 中的不同组件分开吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44559759/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com