J'ai eu une exigence assez simple dans mon programme Scheme pour exécuter plus qu'une instruction, dans la condition vrai d'un 'si'. . Alors j'écrire mon code , quelque chose comme ceci:À propos de "If .." dans Scheme (plt-scheme)
(if (= 1 1)
((expression1) (expression2)) ; these 2 expressions are to be
; executed when the condition is true
(expression3))
De toute évidence, le ne fonctionne pas, puisque j'ai involontairement créé une procédure de # aveC# arguments. Donc, pour faire mon travail , je mets simplement les expressions ci-dessus dans une nouvelle fonction et l'appelle à partir de là, à la place de l'expression1, expression2. Il fonctionne . Donc, mon point ici est: existe-t-il une autre construction conditionnelle qui peut soutenir mon exigence ici?
Notez que la seconde expression est vraiment la même chose que la première: le (... cond) foncti a un implicite (commencer ...) dans chaque condition qu'il vérifie, donc ils sont obstinément les mêmes. –