3

EShellで複数行入力する方法はありますか?EShellのコマンドラインで簡単な関数定義を実行したい場合、実際には機能しません。明示的な改行(\ n)、一重引用符('')および二重引用符( "")を使用してみましたが、成功しませんでした。

改行を書き込んで\nEnterキーを押すと(ポイントは*の位置にあります)、エラーメッセージと新しいeshellプロンプトが表示されます。

$ (def foo (x y ) \n *)
Symbol's function definition is void: def

使用C-q C-jしてEnterキーを押すと(ポイントは位置*にあります)、同じエラーメッセージと新しいeshellプロンプトが表示されます。

$ 
(def foo (x y) *)
Symbol's function definition is void: def
4

2 に答える 2

0

ありません(def)

elisp では、関数を で定義します(defun)

見るC-hf defun RET

http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Functions.html

于 2011-06-04T05:03:15.083 に答える
0

Eshell が入力を途中で評価するのを防ぐために、括弧を開いたままにしておく必要があります。また、phils が指摘したようにdef、在庫の Elisp では定義されていません。あなたはおそらくしたいですdefun

于 2011-06-03T13:09:16.177 に答える