タグ付けされた質問 「arguments」

2
nadvice.elの引数リストを操作するには?
新しいアドバイスシステムに関する別の質問への回答に続きます。 古いスタイルadvice.elでは、アドバイスされた関数の引数リストの個々のメンバーを操作することは可能でしたが、それらのメンバーに関する操作は行われませんでした。たとえば、次のアドバイス: (defadvice ansi-term (around prompt-for-name last) (let ((name (read-from-minibuffer "Tag: "))) (and (not (string= name "")) (ad-set-arg 1 (concat "Term: " name))) ad-do-it)) ansi-term呼び出しに対するbuffer-name引数の(オプションの)提供を許可しますが、ansi-term独自の対話形式に従ってプロンプトを表示することにより、最初の引数を取得します。 (後で参照するため、ansi-termの署名は(PROGRAM &optional BUFFER-NAME)であり、その対話形式はいくつかの可能なデフォルトでPROGRAMを要求しますが、BUFFER-NAMEに関しては何もしません。) これが可能かどうかはわかりませんnadvice.el。もしそうなら、私はそれがどのように行われるか確信がありません。アドバイスされた関数の引数リストを置き換えるいくつかの方法を見つけました。 たとえば、* info *(elisp)アドバイスコンビネータから: `:filter-args' Call FUNCTION first and use the result (which should be a list) as the new arguments to …
12 advice  arguments 

3
透過的な「パススルー」関数ラッパーを作成する方法は?
「透過的な「パススルー」関数ラッパー」とは、wrapperすべての引数を他の関数に渡した結果を返す関数のことwrappeeです。 Emacs Lispではこれはどのように行われますか? NB:理想的なwrapper機能があるとらわれない程度wrappee関数のシグネチャ。つまり、wrappeeの引数の数、位置、名前などは何も知りません。最初に呼び出されたwrappeeかのように、すべての引数をに渡しますwrappee。(必要がへの呼び出しを置き換えるためにコールスタックを台無しに、しかし、ありませんwrapperへの呼び出しでwrappee。) 私は私の質問に部分的な回答を投稿しました: (defun wrapper (&rest args) (apply 'wrappee args)) これは、wrappeeがインタラクティブでない場合にのみ機能します。どうやら、インタラクティブ関数が引数を取得する方法は、(&rest args)呪文の対象とは異なる「チャネル」を表します。したがって、私がまだ必要としているのは、が対話型の関数である場合のwrappee、(&rest args)署名に等しく不可知論的な対応物です。wrappee (この質問は、この前の質問で説明されている問題によって動機付けられました。) 私が求めていることをさらに明確にする必要がある場合のために、以下にいくつかの例を示し、PythonとJavaScriptで同等のものを示します。 Pythonでは、このようなラッパーを実装するいくつかの標準的な方法を以下に示します。 def wrapper(*args, **kwargs): return wrappee(*args, **kwargs) # or wrapper = lambda *args, **kwargs: wrappee(*args, **kwargs) (ここで*argsは「すべての位置引数」を**kwargs表し、「すべてのキーワード引数」を表します。) 同等のJavaScriptは次のようになります。 function wrapper () { return wrappee.apply(this, arguments); } // or wrapper = function () { …
10 advice  arguments 

1
ユーザーからの決定を促すコマンドに対してプログラムで「はい」と答える方法
私は、カスタム関数を作っているコンバイン2つの機能さえずりモード、twittering-favoriteおよびtwittering-native-retweet、yesまたはnoの質問に答えることで、私からしかし、これら二つのニーズに入力。 これらの2つの関数を、私の直接の介入なしに回答を受け取るようなものでラップする方法があるかどうかを知りたいです。
8 arguments 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.