3

awesome/rc.luaインタラクティブな iterpreterから lua コマンドを実行するには?

~/.config/awesome/rc.lua新しいキー バインディング用にいくつかの関数を作成しようとしています。ときどきエラーが発生し、コマンド ラインでテーブルと変数を出力してこれらの関数をテストしたいことがあります。ダウンロードlua5.2して、対話型インタープリターで遊び始めました。対話モードの開始時に実行する小さなスクリプトを作成しました。

で見つかった他のほとんどすべてのライブラリでrequire("gears")問題が発生しました。ここではいくつかの例を示します。require("awful")/usr/share/awesome/lib/

  1. しようとするとrequire("gears")、次のエラーが表示 されます。 /usr/share/awesome/lib/gears/wallpaper.lua:17: attempt to index global 'screen' (a nil value)
  2. で行を削除すると、require("gears")require("awful")は次のようになります。 /usr/share/awesome/lib/awful/tag.lua:603: attempt to index field 'client' (a nil value)

素晴らしいライブラリーのすべてのモジュールには、lua インタープリターで知られていないコンポーネントがいくつかあるようです。lua インタープリターにこれらのコンポーネントを認識させるにはどうすればよいですか?

私は lua コーディングの経験があまりありません。間違った場所を掘っていますか?から関数をテストする別の、おそらくより良い方法はありawesome/rc.luaますか?

4

2 に答える 2

2

Mod4 + xLua インタープリターを実行します。

rc.luaそして、さまざまな Lua lib ファイルが、ホスト プログラム (C で記述された) によって提供される環境に読み込まれます。これが、や などの提供されたAPI要素にアクセスできる理由です。ここで(部分的に)責任のあるファイルを参照してくださいscreenclient

構成ファイルでいくつかの基本的な Lua 関数をデバッグするだけの場合は、stdout ではなくファイルまたはパイプに単純に書き込み、代わりにそれを監視することを検討できます。

Mod4 + Control + rAwesome を再起動し、設定ファイルをリロードします。

于 2016-08-20T17:52:36.497 に答える