Categorías
Programming Languages

Líneas de comando para usar CVS de forma remota

ver un proyecto de forma remota

cvs -d: ext: nombre de host: / usa / dir / cvs / co -d papel en blanco papel en blanco

importar un proyecto de forma remota

cd en la carpeta que desea agregar como un nuevo proyecto
cvs -d: ext: nombre de host: / usa / dir / cvs / import blank-doc INITIAL start

actualizar de forma remota
cd en la carpeta
actualización cvs

comprometerse de forma remota
cd en la carpeta
cvs commit

eliminar un archivo
cd en la carpeta
cvs eliminar nombre de archivo

Categorías
Programming Languages

Código Lisp: agregar dos listas

¿Podemos tener una función que pueda sumar dos listas a una, como (add ‘(1 2 3)’ (4 5 6)) = (5 7 9)

(defun add-two-list (l r)
; e.g. (1 2 3) (2 3 4)
; returns (3 5 7)
  (setf return-value '())
  (loop for i from 0 to (- (length l) 1)
        do (setf return-value (cons (+ (nth i l) (nth i r)) return-value))
)
 (reverse return-value)
)

Si ampliamos esta función para agregar varias listas, entonces necesitamos lo siguiente:

(defun final-get-sum ( l   n )
; get final average value
; e.g. (final-get-sum '((1 1 1) (1 1 1) (1 1 1)) 3)
; returns (3 3 3)
  (cond ((null (car l)) (get-n-zero  n) )
        (t (add-two-list (car l) (final-get-sum (cdr l) n))
        ))
)
 
(defun add-two-list (l r)
; e.g. (1 2 3) (2 3 4)
; returns (3 5 7)
  (setf return-value '())
  (loop for i from 0 to (- (length l) 1)
        do (setf return-value (cons (+ (nth i l) (nth i r)) return-value))
)
 (reverse return-value)
)
 
 
(defun get-n-zero (n)
; get a list with n zeros
 (cond ((equal n 0) nil)
       (t (cons 0 (get-n-zero (- n 1)))))
)

Si vamos más allá, podemos calcular el promedio de una lista como
((1 1 1)
(2 2 2)
(3 3 3))
= (2 2 2)

Código

(defun final-get-average (l n)
; l is the final sum, n is the divider =  (length l).
; e.g. 
  (cond ((null (car l)) nil)
        (t (cons (/ (car l) n) (final-get-average (cdr l) n))))
)

Puede ser setf no es un buen uso aquí. Pero el código anterior seguramente funciona.