lisp- devinettes algorithme et fonctions globales, les variables



* (defvar *big* 100)  
  
*BIG*  
* (defvar *small* 1)  
*SMALL*  
  
   
  
50  
0] (defun smaller() (setf *big* (1- (guess-number)))(guess-number))  
  
SMALLER  
0] (defun bigger() (setf *small* (1+ (guess-number)))(guess-number))  
  
* (defun guess-number() (ash (+ *small* *big*) -1))  
STYLE-WARNING: redefining COMMON-LISP-USER::GUESS-NUMBER in DEFUN  
  
GUESS-NUMBER  
* guess-number  
  
0[2] (smaller)  
; No debug variables for current frame: using EVAL instead of EVAL-IN-FRAME.  
25  
0[2] (bigger)  
; No debug variables for current frame: using EVAL instead of EVAL-IN-FRAME.  
37  
0[2] (bigger)  
; No debug variables for current frame: using EVAL instead of EVAL-IN-FRAME.  
43  
0[2] (smaller)  
; No debug variables for current frame: using EVAL instead of EVAL-IN-FRAME.  
40  
0[2] (smaller)  
; No debug variables for current frame: using EVAL instead of EVAL-IN-FRAME.  
38 

Nous avons fixé le chiffre 38

définir defvar variables globales, defparameter aussi, mais les déclarations de defparameter peuvent être réutilisés plusieurs fois pour définir une variable ou modifier la valeur du montant de

comme

(defparameter xx 100)

Et puis effectuez une

(defparameter xx 101)

Donc, à ce moment

xx est 101

et

defvar est différent

(defvar xx 100)

Et puis effectuez une

(defvar xx 101)

Donc, à ce moment

xx 100

Publié 473 articles originaux · a gagné les éloges 14 · vues + 60000

Je suppose que tu aimes

Origine blog.csdn.net/AI_LX/article/details/105165469
conseillé
Classement