Guest User

Untitled

a guest
Jun 8th, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.94 KB | None | 0 0
  1. (defvar *cryptopath* (make-hash-table :test 'equal))
  2. (defun initpath ()
  3.     (iter (for crypto in *cryptos*)
  4.       (setf (gethash crypto *cryptopath*) (make-hash-table :test 'equal))))
  5.  
  6. (defun fillpath ()
  7.   (iter (for pair in *pairs*)
  8.     (let* ((sp (stringpair pair))
  9.            (basec (car sp))
  10.            (quotec (cdr sp)))
  11.       (unless (or (member basec *banned* :test 'string=) (member quotec *banned* :test 'string=))
  12.         (setf (gethash basec (gethash quotec *cryptopath*)) (gethash basec *cryptopath*))
  13.         (setf (gethash quotec (gethash basec *cryptopath*)) (gethash quotec *cryptopath*))))))
  14.  
  15. (defvar *path3* nil)
  16.  
  17. (defun find-path3 ()
  18.     (iter (for (k v) in-hashtable *cryptopath*)
  19.       (iter (for (kk vv) in-hashtable v)
  20.         (iter (for (kkk vvv) in-hashtable vv)
  21.           (iter (for (kkkk vvvv) in-hashtable vvv)
  22.             (when (string= k kkkk)
  23.               (setf path3 (push `(,k ,kk ,kkk) *path3*))))))))
Advertisement
Add Comment
Please, Sign In to add comment