elisp – ¿Cuál es la forma más fácil de implementar una función como format-time-string

Pregunta:

La función format-time-string toma una cadena y reemplaza un conjunto de construcciones especiales en esa cadena (caracteres precedidos por % ) con un texto específico.

Me gustaría implementar una funcionalidad como esa en una función propia:

  • Tengo una lista entre caracteres y símbolos como: '((?n . name) (?r . reputation)) .
  • La función debe tomar una cadena como "My name is %n, and my rep is %r" .
  • Debe reemplazar %n y %r con el valor del name y la reputation de las variables, y devolver el resultado.
  • Debería manejar %% como format-time-string (reemplácelo con % ).

¿Cuál es la forma más sencilla de implementar esta función?
¿Existe una biblioteca o función que facilite esto? Manejar %% correctamente es importante.

Respuesta:

Las funciones predeterminadas que se utilizarán son format-spec y format-spec-make :

(let* ((name "Malabarba")
       (reputation "good")
       (fs (format-spec-make ?n name ?r reputation)))
  (format-spec "My name is %n, with a %r reputation.  %% is kept." fs))

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım