【问题标题】:How can I idiomatically transform some text in place using elisp?如何使用 elisp 惯用地转换一些文本?
【发布时间】:2012-08-24 23:58:14
【问题描述】:

我有一些我想在 emacs 中处理的 json。我找到并使用了 elisp 库从 json 中提取所需的内容,我想用我提取的 elisp 等效项替换 json。

这是我写的:

(defun extract-foo (start end)
  "Extract the foo field from a json object in the region"
  (interactive "r")
  (let ((my_json (cdr (assoc 'FOO  (json-read-from-string (buffer-substring-no-properties start end))))))
    (delete-region start end)
    (SOMETHING) 
))

我被某事困住了。我似乎找不到将 my_json 的内容写入标记处的缓冲区的方法。我能想到的唯一方法是将文本保存到临时缓冲区,然后(insert-buffer) 它。不过,这对我来说似乎太过分了。

如何在 elisp 中以惯用方式做到这一点?

【问题讨论】:

    标签: emacs elisp


    【解决方案1】:

    写回 JSON 部分

    (insert (format "%s" (json-encode my-json)))
    

    写回 elisp:

    (insert (format "%s" my-json))
    

    请注意,您在变量命名中使用下划线是违反约定的。

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-26
      • 1970-01-01
      • 2019-07-17
      • 2017-07-11
      相关资源
      最近更新 更多