79 votes

Comment écrire plusieurs instructions dans l'instruction 'if' d'elisp ?

En elisp, il existe un cas "if" dans lequel je voudrais effectuer plusieurs choses différentes :

(if condition
    (do-something)
    (do-something-else)
    ...)

Cependant, (do-something-else) n'est exécuté que dans le cas else. Comment spécifier un bloc d'instructions à exécuter ? Par exemple :

(if condition
    (begin
        (do-something)
        (do-something-else)
        ...))

104voto

mipadi Points 135410

Utilisez progn :

(if condition
    (progn
        (do-something)
        (do-something-else)))

53voto

Trey Jackson Points 49816

S'il n'y a pas else nécessaire, il pourrait être plus lisible à utiliser :

(when condition
    (do-something)
    (do-something-else))

Et, il y a l'inverse

(unless (not condition)
    (do-something)
    (do-something-else))

Consultez le Manuel Emacs Lisp pour les conditionnels .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X