Skip to content

Instantly share code, notes, and snippets.

@0branch
Created January 20, 2012 11:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0branch/1647005 to your computer and use it in GitHub Desktop.
Save 0branch/1647005 to your computer and use it in GitHub Desktop.
interpolate test
(defun interpolate- (interpolate-str interpolate-pl interpolate-f)
(if (string-match interpolate-capture interpolate-str 0)
(let* ((interpolate-key (match-string 1 interpolate-str))
(interpolate-new-str (replace-match "%" t nil interpolate-str))
(interpolate-new-key (funcall interpolate-f interpolate-key)))
(interpolate- interpolate-new-str
(cons interpolate-new-key interpolate-pl) interpolate-f))
(cons interpolate-str (reverse interpolate-pl))))
(defun interpolate (interpolate-str)
(apply 'format (interpolate- interpolate-str () (lambda (x) (eval (intern x))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment