Cara menggunakan argumen 'interaktif' saat memanggil perintah dari kode


12

Saya memiliki perintah yang disebut testyang hanya mengambil input dari pengguna dan mengembalikannya:

(defun test (input)
  (interactive "MInput: ")
  (message "%s" input))

Saya ingin menulis fungsi lain yang akan menyebutnya. Berikut ini gagal:

(defun test-forward ()
  (interactive)
  (test))

dengan kesalahan ini

test-forward: Wrong number of arguments: (lambda (input) (interactive "MInput: ") (message "%s" input)), 0

Ini masuk akal, karena testmembutuhkan satu input. Membuat test's input &optionalhanya membuat test-forwardkembali niltanpa melakukan apa-apa. Apa cara yang benar untuk melakukan ini?

Jawaban:


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.