emacs - मैं एक फ़ंक्शन को पैरामीटर के रूप में elisp में कैसे पास कर सकता हूं?




(2)

इस पृष्ठ के अंत में नोट का कहना है कि आप बाइट संकलक को सिग्नल करने के लिए #' बजाय #' बजाय #' कार्य उद्धृत कर सकते हैं कि प्रतीक हमेशा फ़ंक्शन का नाम रखता है।

मैं एक पद्धति को दूसरे में elisp में पारित करने की कोशिश कर रहा हूं, और उसके बाद उस विधि को निष्पादित करें। यहाँ एक उदाहरण है:

(defun t1 ()
  "t1")

(defun t2 ()
  "t1")

(defun call-t (t)
  ; how do I execute "t"?
  (t))

; How do I pass in method reference?
(call-t 't1)

सबसे पहले, मुझे यकीन नहीं है कि आपका फ़ंक्शन t नामकरण के रूप में 'टी' को लिज़प में सच्चाई के रूप में प्रयोग किया जाता है।

उस ने कहा, मेरे लिए निम्न कोड काम करता है:

(defun test-func-1 ()  "test-func-1"
   (interactive "*")
   (insert-string "testing callers"))

(defun func-caller (callee)
  "Execute callee"
  (funcall callee))

(func-caller 'test-func-1)

कृपया 'फ़नकाल' का उपयोग करें, जो वास्तविक फ़ंक्शन कॉल को ट्रिगर करता है।





elisp