-1

erc で誰かが私に話しかけたときに通知する小さなスクリプトを作成しようとしています。したがって、フックできるように、nick と msg の 2 つの文字列と思われるものを受け取る関数を作成する必要があります。しかし、私のテスト関数は失敗します。私は growl-notify と format s-expressions をテストしましたが、それらは正常に動作しますが、テストを実行できません。なぜ失敗するのかわかりません。ポインタはありますか?

(defun growl-notify (&key message)
  "Use growl for notifications"
  (start-process "growlnotify" "growlnotifications" "growlnotify" "-m " message))

(defun test (nick msg)
  (growlnotify :message (format "%s: %s" nick msg)))

(test "Ppop" "something")

次のバックトラックが得られます。お役に立てば幸いです。

Debugger entered--Lisp error: (void-function growlnotify)
  (growlnotify :message (format "%s: %s" nick msg))
  test("oi" "poi")
  eval((test "oi" "poi") nil)
  eval-last-sexp-1(t)
  eval-last-sexp(t)
  eval-print-last-sexp()
  call-interactively(eval-print-last-sexp nil nil)
  recursive-edit()
  debug(error (wrong-number-of-arguments (lambda (&key message) "Use growl for notifications" (start-process "growlnotify" "growlnotifications" "growlnotify" "-m " message)) 3))
4

1 に答える 1

1

エラー メッセージはで、が関数として定義されていないDebugger entered--Lisp error: (void-function growlnotify)ことを示しています。growlnotify

コードを見ると、次のように定義されていることがわかります:(defun growl-notify (&key message)という関数を定義していますgrowl-notify。単純なタイプミス。

于 2012-08-13T19:41:43.007 に答える